tags:

views:

1177

answers:

5

what is the preferred method of deploying a web project? Just copy the dll's after compiling in release mode and registering them? or using NSIS to build an installer or the MS set up project.

+3  A: 

I usually use a Web Deployment Project per WebSite or WebApplication, it allows me to manage build configurations, merging, and define pre-post build MSBuild tasks.

You can also take a look to the Microsoft Web Application Installer, it will be really nice, but it still in beta stage, however you can try it...

CMS
+1  A: 

This depends greatly on where your webapp is going and the experience you wish to provide. If you deploy to a web host its best to use xcopy deploy and documentation. If you have a real end system its simpler to create an installer to do all the leg work for your customers and maybe save your self some documentation work.

Aaron Fischer
A: 

Aaron & CMS, thanks. Its for a customer as we are deploying on their systems so maybe an installer is the best solution

A: 

I would recommend investing in setting up a continuous integration process (CruiseControl.Net or TeamCity etc...) As you are probably not only going to deploy it to your customer only once.

Having an automatic deploy at the push of a button is a Godsend. If you invest a few days you can have automatic deploy to a dev-environment every time someone checks in code (and it compiles and all tests pass), set up daily deploys to a test environment and have a button to automatically deploy it to a staging environment whenever you want.

AndreasKnudsen
A: 

Andreas, I am in the process of getting CC.Net. In the meanwhile, I am using the Web Deployment Project. Using this and going through the set up, it creates a 'release' folder with a bin folder conntaining dll's and also the aspx in the parent folder.

I assume I can now create an MSI file using the 'release' folder or do i need to do something different to create an MSI which i can run on the client server