The original question:
The title of this question may be somewhat awkwardly worded, but here's the situation:
I have a .NET web project deployed to my server. It is still in beta, so there are many releases and re-releases.
I also wrote the C # executable in the same VS solution (call it “admin.exe”), which runs in the background on the server, periodically performing integrity checks on business rules and making appropriate inserts to the warning table in the database.
Question: What is the best way to deploy this application so that it updates whenever I make a new version? It should work all the time between releases, so ideally I need some kind of setup in which the shutdown-deploy-startup process includes as few steps as possible.
Thanks!
Editing - Starting Bounty
The answers given so far have been useful and interesting, but have not provided me with a clear, concise, and elegant solution. Please do not assume that I have extensive knowledge of deployment projects because I do not. Bounty goes to a person who can provide a solution that does the following:
- Publish the latest website;
- Turn off all instances of admin.exe that are running on the server;
- Update admin.exe;
- Run admin.exe;
- All of the above should be done preferably in one step or as few steps as possible, as this will be repeated throughout the life of the product; and
- All of the above should be done preferably without the need to install any third-party software.
Thank you for your help!
Minor change - clarification
I think that many of the proposed solutions overestimated the complexity of the problem, so let me clarify: everything that needs to be deployed should be deployed on only one computer, which is also happy that Visual Studio is available with all the source code. I only need to (1) publish the website in a web folder and (2) close, reinstall and restart admin.exe on the same server. Isn't there an easy way to do this in one step? Can this be done using the VS deployment project?
Shaul behr
source share