Solved

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

Posted on 2009-05-09
6
611 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
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

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …

617 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