I’ve used VS 2003 Web Setup Project with custom actions and Installer class. that did some changes.
After moving to VS 2005 I found that it is not possible to invoke custom action for DLL because only content output is available.
However in my case compile failed with the very helpful Aspnet_merge.exe Exited With Code 1. Some posts explain that the error comes from duplicate class names in the project, even if the name comes from different name space. But my code is based on DNN and they use classes with the same name quite extensively.(UPDATE: workaround posted in the post:Use VS 2005 Web Deployment Project with DotNetNuke)
Fortunately a workaround is quite simple.
1. Put Installer class in a separate Class Library(or Windows Executable) Project.
2.Add the installer primary output to the web setup project
3.Specify custom action for the installer primary output.
Update: I’ve added more comments about Web Setup Project in the post “Using VS 2005 Web Setup Project – not user friendly process. “