I\'ve got a number of managed code Windows Services for which we use the Frameworks InstallUtil tool to install into the service control manager. This tool creates a new file at
In VS.NET you can define a custom dialog for your msi project, I am using such a dialog to ask for the SQL Server address and credentials, the msi stores all the info from the textboxes into InstallState file. When the service is uninstalled it will read the values from InstallState file and will drop the database created in the install phase. In my case InstallState file is a must because the uninstall will fail if the file was deleted after install.