How do I deploy the app (a .exe) after coding is finished?

How do I deploy the app (a .exe) after coding is finished?  Not that I haven't heard of XCopy, and not that I haven't been able to simply go to ...bin/debug and grab the executable there.  BUT, even though that has worked sometimes (with little apps), it SURE doesn't seem like this is the right way of doing things.  I've just recently tried: (VStudio Menu Item): Build:: Publish [name of App].  At least that makes a Setup executable, ... but no .exe was made from this that I could find ....  Last, I know that there are ways to build the final solution so that, when deployed, no one can (simply or easily) deconstruct and then read your program (decompiling MSIL code, or something like that).  How is this done (or if that is too big a question, please point me in the right direction: N, S, E or W).  Thanks much!
LVL 3
Sperling1Asked:
Who is Participating?
 
GhstTrackerCommented:
Since these are exe files I would reccomend an MSI package.  This is a Microsoft Installer package and will install the application any dependencies as well as custom configuration files, registry entries, shortcuts etc.  There are multiple ways to create an MSI, you can use Visual Studio's built in Setup Project (Use the Setup Wizard for simple/first time)  the Visual Studio project is basic and not as easy to create as some 3rd party install software such as Installshield.  You can use WIX (WIndows Installer XML) in which you create the MSI package using a combination of XML Files.  FInally you can use 3rd party applications like InstallShield. Depending on the complexity of the install package (custom dialogs, custom actions etc) this is the way to go.  InstallShield for example provides a high level of customization with a very easy to use interface.  However I would still recommend the Visual Studio Setup Project for simple installs.
0
 
tcullerCommented:
Well, I'm not big on Deployment (apparently, neither are most of the guys at Microsoft--nothing against them, though ;) ), but there are a few things I can help with:

First, when you are ready to "release" your application, change your build from "debug" to "Release". This is shown in the top menu bar in Visual Studio. This strips your program of variable names and such, making it a little more efficient, but don't expect to get friendly debugging information, here.

Second, you can create what is called a "native image" of your application by using a program called NGen.exe, provided by Microsoft (guess that'd be North, according to your directional reference). I hate posting links, but this seems to have need of one, so here you go: http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx
0
 
oxyooCommented:
Hi,
To some extent prevent reverse engineering of your application, you may use tools such as Themida, Dotfuscator, etc. Be aware though, that most of them are expensive and are not impossible to break.
When it comes to deployment of your software there are various ways to go. You can deploy your application .exe (with any bundled configs, images, etc) using ClickOnce or the Visual Studio built in Setup project. You can even use a third party Setup project such as provided by Nullsoft.
Good Luck!
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
nhenny2009Commented:
I would recommend using "ClickOnce" and "publish your project that way...ClickOnce can be configured to automatically push updates to each of the clients that have your application installed.  This can really go a long way in helping to keep your users current.  Best wishes.
0
 
Sperling1Author Commented:
Thanks for all the help everyone, although I still have a lot of questions.  As for the msi install wizard, besides the fact it was hard to find where it existed, it leaves one with all kinds of questions about how it works in grabbing important pieces from your project, thus your left feeling unsure.  For simple XCopying, I appreciate what tculler said above: "change your build from "debug" to "Release".  Simple, but I think that the problems I was running into before (odd unhandled exceptions came up on other trial person's computer) was probably because it was still in Debug mode.  As for ClickOnce ... is it just me, or is that thing heavily geared to web publishing (and what is: UNC?)?  For the future, it was good to learn about WIX.  

Thanks for all the help everyone.
0
 
GhstTrackerCommented:
Yes Click Once is geared more towards Web Publishing than it is deploying a "hard app".  Yes the Setup Project in Visual Studio does leave alot to be deisred.  You might look at an express edition of installshield (I think thats free)  that may provide you the best of both worlds.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.