Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio 2013 publishing without installer

I've got a WPF project that I am trying to publish without any form of installer. Basically I want the program compiled in a directory with all the necessary files next to it, so that I can zip everything and deploy the program on clients.

Ideally I will want to have all external resources compiled in the EXE.

Is there any way to do that? If I go in the debug/bin folder, on my workstation, I can execute the EXE but if I zip it along with the DLL and try to do that on another machine it crashes, probably missing a file is my guess. (if I publish with the installer it works though but that is not suitable for this project).

thanks Steve

edit: When I execute the program (which I copied from the Bin directory after a successufull build), nothing happens, just the message the "program has stopped working". My program uses 3 external files, an icon, an image and a font. I have a DLL (WPFtoolkit) referenced, I added that DLL to a directory in my solution explorer. All files are Set to Embedded Resource, and "Do not copy". I also added this code to my program, still the same error. http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/ the size of my EXE is correct, I can see that the DLL has been "added" to it. still the program only works on my workstation :(

edit:

Should I keep the DLL in the references? My guess is no, but if I do that, I get an error when I call my:

using Microsoft.Windows.Controls;

if I don't call it, the program compiles but crashes. see error message below:

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: sw imperium.exe
  Problem Signature 02: 1.0.0.0
  Problem Signature 03: 53bdd468
  Problem Signature 04: PresentationFramework
  Problem Signature 05: 4.0.30319.18408
  Problem Signature 06: 52312f13
  Problem Signature 07: a19
  Problem Signature 08: 46
  Problem Signature 09: System.Windows.Markup.XamlParse
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
like image 797
user3617652 Avatar asked Jul 09 '14 21:07

user3617652


1 Answers

Is the toolkit installed on your PC ( where visual studio is ) in the GAC? All files that are not included in as an imbedded resource should be copy local ( in which case the build will copy those files into the bin folder.

To isolate the problem and get a better error message move the code to a non developer PC and enable the fusion logger to find any assemblies that the loader cannot find.

See this link on more information about the loader (fusion) logger How to enable assembly bind failure logging (Fusion) in .NET

Consider adding some additional error logging code to app startup, see .NET application cannot start and receive XamlParseException

like image 99
Mike Beeler Avatar answered Sep 17 '22 09:09

Mike Beeler