Link to home
Start Free TrialLog in
Avatar of John500
John500Flag for United States of America

asked on

Best way to deploy a 2005 .Net C++ Form application


I have a .Net 2005 Windows Form Application I'd like to deploy but I'm not sure what the best approach is.  This application is self contained.  That is, it doesn't make any calls to external data sources or require connections with other processes.

It is primarily comprised of managed code but it does make calls to unmanaged queue code.  In regard to managed verses unmanaged, I'm wondering how this affects the deployment options.  

I guess the best scenario for me would be that the executable can run on any Windows machine (XP, Vista, Server).  Hence, what do I need to do to get this thing deployable.

Avatar of roshkins

Go to Build > Publish <Project Name>
Avatar of John500


Are you saying my project will provide a wizard that steps me through the process?  If so, will this process enable the executable to run on any of the operating systems I mentioned?

It should run on any windows machine with all .net frameworks.
Avatar of nsanga

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of John500


>> Build > Publish <Project Name> works only for a single project

It will work for this project then but for some reason I don't have a 'Publish' option on the drop-down menu.  I'm using VS 2005 and only have the following drop-downs under build:

 <Project Name>
  Project Only

Why doesn't Publish show up??
that option is not available for  Visual Studio 2005 C++

it is available for and projects
Then just build it, go to the executible, and copy and paste. If it needs dlls, try using iexpress.exe, an installer maker, that is built into your PC! To run it: Winkey + R, iexpress.exe.
Avatar of John500


I was able to run iexpress.exe but I'm not sure what 'Winkey + R' stands for or if it will affect the success of the remote installation.

When the wizard was completed I expected to see a package which detected any and all dependencies.  Instead, I saw an executable along with a file entitled <My Application>.SED

When I took these two files to the destination machine and double clicked the executable I expected to see at least a couple of prompts which the Wizard indicated would prompt the user.  Instead, the execution failed altogether with the error:

Error creating process <C:\Documents~\user\locals~\Temp\IXP000.TMP\TESTFO\~.EXE>  Reason:  This application has failed to start because the application configuration is incorrect.  Reinstalling the application may fix this problem.

Any ideas why a 'package' wasn't created that would extract?  
did you try my approach.....the first link is easier one....
Avatar of John500



The first link did the trick.  Thanks.

I can see now it was the .Net Framework installed that was lacking.  However, you would think that deployment wizard or project type would be a little bit more robust.  It appears impossible to add a splash screen or other things InstallShield can do.

If you have any pointers in this regard, I'm all ears.

Soo, why bother Building a deployment project when you can just , set configuration to Release and go to the folder and copy the exe and you can just email the exe to a user?
Why use project/deploy or Publish?
Especially if your only creating a Form App.
Avatar of John500


>>  Why use project/deploy or Publish?  Especially if your only creating a Form App.

Especially?  Are you saying Form applications should especially not have a requirement to be deployed?  

Anyway, when you build a 'Release' and want to install it on a different system, that sytem may or may not have all the dependencies to run the Release.  This was precisely my requirement - to install the application on systems that didn't have everything my Form application required.  Thus, the deployment project ensures everything works such as creating necessary folders to installing dlls etc.

Hope that helps