I am having a problem deploying a C#.net 2008 desktop application. I am creating a deploymebnt project, since there is not one in the location where the production code is kept. I am working with a solution that has 15 proejct files in it. I need to only work with 7 of the project files. I am working with the following link on how to setup and deploy a project:
http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/
In the directory path of bin/x86 folder/debug in the startup proejct folder of the soltution, I am picking these files to be my primary output in the setup wizard. All the files in this location are DLLs, PBD files, application executables, and two xml configuration files. The location where it looks like all production code is located at, also has an XML config file for each proejct. Thus, I am added these extra xml config files to the setup project. i know the setup project was successful since I see the screen that displays 'file system on target machine' and the folders under them are called Application folder,user's desktop, and user's menu.
From here Ihave the following questions:
1. In the setup proejct folder I did a build and install to a default location. The default location is C:/program files/microsoft. When i ran the application, all i got wasc the micosoft symbol. Thus, what could I be doing wrong? Do I need to add more to the setup projrect? What else do I need to setup in the deployment process? Can you explain what else I need to do and/or point me to a url that will help me?
2. Did i pick the correct kind of files that are used as the project ouput files?
3. Can you give me more directions on what to put into the Application folder,user's desktop, and user's menu.
4. working on setup and deployemnt porject, i am assuming there is a location where error messages are displayed. Can you tell me where this location could be at?
5. I am wondering if i need to run vcredist._x86,exe? i am guessing that i do not need to runvcredist._x86,exe, Right now in production, a bat file is executed. The bat just copies things like 'short cuts' with with file names.lnk to certain locations. The bat files points to C++ runtimes. Then the vcredist._x86,exe is executed. After that point third party software is registered with OCX controls. The third party software is written in visual studion.net 2005. I would think the third party software needs the vcredist._x86,exe excuted. However, i do not plan using the third party software. Thus i would think I do not need to use it correct?
Loading
Sam HobbsPosted Aug 3, 2011, 8:16 PM
Note that you are less likely to get all your questions answered if you put many questions into one thread. We are asked to mark a reply (and only one reply) as a solution when a thread gets an answer and when a thread has many questions it is unlikley they will all get answered by one reply.
As I recall, the simple answer to the question of whether you "need to run vcredist._x86,exe" is no, you do not. The primary recommended way for redistributing Visual C++ libraries is by using Visual C++ Redistributable Merge Modules. This can be done using a Setup and Deployment Project. See Choosing a Deployment Method. There is a lot to read in Deployment (C++) but it is worth reading; I read a lot of it a few years ago. As I recall, Visual Studio has a Setup Project Wizard that did a lot for us automatically if the project was simple but there was not much documentation of the wizard. The wizard can, as I said, do a lot for you and might help you. You could try using it and see what you get; I think it won't alter anything else so it won't be a problem for you to play with it. Be sure of course to have a backup copy or better yet work with a copy that is just for research purposes.
It sounds like the current setup is more of what is described in How to: Deploy using XCopy. If so then there is plenty of room for improvement.
Sam HobbsPosted Aug 3, 2011, 10:09 PM
You provide an extensive description of your situation but I have difficulty understanding. So I think one advantage of using separate threads is that (hopefully) you can provide more details about specific problems. I hope it works better that way.
jasminiePosted Aug 3, 2011, 9:01 PM
Thank you very much for your answer. The questions you did not answer, I will split up into separate threads.
By the way, my application is C#.net 2008. It is not C++. The vcredist._x86.exe is excuted in a bat file, prior working with the OCX files the third party vendor uses. I do not plan on keeping any of the third party vendor software to communicate with this .net application.