I have a question about how to customize a Visual Stduio 2008 Setup & Deployment project to install a 3rd party application.
We have a scenario here where the applications we need to install is actually not a .Net application. We have a database that needs to be installed, a web-based application to install, and then need to make some modifications to the IIS webserver on the machine to tie things together properly. The database is a redistributable InstallShield executable that can be run manually or 'siliently' via a script file, and the web application is a large zip file whose contents simply need to be placed in the right locations on the target machine.
Currently, I wrote a .Net program that has a simple user interface that asks the user for some install configuration info, then displays a process/progress bar while in the background it kicks off the InstallShield executable in silent mode, then unpacks the web app zip file sticking the various files in the designated locations based on user input and pre-established logic, and finally finishes up by adding or modifying items in the IIS on the machine. It works, but it lacks that "professional" look and feel of more industry standardized install packages.
I have some experience, but not that much, with VS2k8's Setup Project, but I can't seem to figure out how to accomplish the above steps and requirements with what VS2k8 gives me. It has some boiler-plate dialogs that can be added in the User Interface Editor, but none give me the ability to choose the controls I want... not to mention the lack of ability to program against them. I can only add a dialog, but no code. I can provide custom actions but this is simply the execution of a separate project (what I am already doing), and does not tie into the install dialogs of the Setup project.
I guess what I am asking is how to get a VS2k* Setup project to look and act more like other install packages I have seen? -- have custom dialogs to interact with the user to collect specific and detailed info for our install; custom feedback such as progress of files and such being installed to the hard drive; programatically add or modify information in the registry; update or modify the IIS on the machine; etc.
Thanks
-- Andrew