views:

427

answers:

3

I am using a regular Visual Studio Setup Project to deploy my ASP.NET application. I need to handle the case of an existing web.config existing in the target directory. When one is found, it needs to be renamed before the install takes place. If this does not happen, the new web.config will not overwrite the old.

How can I get my custom action to rename the old web.config BEFORE the files being installed are copied?

So far I have tried by deriving from System.Configuration.Install.Installer and overriding the OnBeforeInstall, Install and Commit. It seems that all of these methods take place after the new files are copied into the target directory.

+2  A: 

Do it in the Committing event. You said you tried to override 'Commit' but there is two commit events; Committing and Committed. The first occurs before the installers property commits its install, and the latter occurs after.

BBetances
Wow, Can't believe I missed that, it worked like a charm, thanks!
Bob
A: 

Are you sure this is working? It doesnt work for me. And the article below would suggest using the onBeforeInstall should work.

http://www.devcity.net/Articles/339/2/article.aspx

A: 

None of the approaches above seem to be working. Both OnBeforeInstall and OnCommitting happen after the files have been deployed to the target folder.

Alex