Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2009-05-09
6
Medium Priority
?
625 Views
Last Modified: 2013-12-17
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!
0
Comment
Question by:Sperling1
6 Comments
 
LVL 9

Expert Comment

by:tculler
ID: 24347078
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
 
LVL 10

Expert Comment

by:oxyoo
ID: 24347140
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
 
LVL 1

Accepted Solution

by:
GhstTracker earned 1500 total points
ID: 24348118
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
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

 
LVL 3

Expert Comment

by:nhenny2009
ID: 24350139
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
 
LVL 3

Author Comment

by:Sperling1
ID: 24352055
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
 
LVL 1

Expert Comment

by:GhstTracker
ID: 24353352
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

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Screencast - Getting to Know the Pipeline
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question