Solved

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

Posted on 2009-05-09
6
599 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 500 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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

IP addresses can be stored in a database in any of several ways.  These ways may vary based on the volume of the data.  I was dealing with quite a large amount of data for user authentication purpose, and needed a way to minimize the storage.   …
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

770 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