I need to create an install for my app that executes the following actions:
- Copies files
- Writes registry settings
- Registers a windows service
- Writes an XML app.config file (based on user supplied info during install–a connection string)
- Executes SQL scripts against a remote database (connection info obtained in #4)
- Installs and registers a COM dll
- Adds entry to Control Panel>Add/Remove programs for uninstall
I don’t need any fancy logic to allow the user to customize these steps–I can hard-code them with user-supplied info injected where appropriate.
I looked at Wix but found the documentation and examples don’t line up well with recent releases.
I also looked at NSIS but found support for writing XML to be too limited (the plugin for this can only handle strings up to 64 bytes).
I initially brushed off the VS2005 built in Setup project as incapable of handling these tasks but I’m ready to reconsider after stumbling with what I thought were better options.
Any suggestions?
I would still recommend looking into WiX a bit more. We use it to do everything but #6 on that list and while there is a small learning curve. We’ve been using WiX v3 for almost 3 years, and I haven’t found too many places where the docs/tutorial is that far out of place. And usually where it is its because they cleaned up the syntax and made it better.
Also, as of the next release of Visual Studio (2010/Rosario) WiX is being build directly into Visual Studio, I’m not sure if in parallel with the current Setup Projects or replacing them completely.