One of the worst tasks you can get as a programmer is having to write an installer. Installers are hard to write, hard to debug and hard to maintain. What's worse is that nobody appreciates all the hard work you did. As far as the end user (or your boss) is concerned, an installer is either "adequate" or "a complete piece of garbage". Those are the only 2 states. There is no in-between and no way to go above adequate. Nobody ever says, "Wow! What a great installer!"
And don't even get me started on the MSI framework.
Anyway, you may have noticed that most of my samples are deployed via an installer. So I've posted a simple Visual Studio 2008 installer project that you can use to deploy your custom Vault Explorer extensions.
- Detects if Vault Collaboration, Workgroup or Professional client is installed and sets the [VAULTWGDIR], [VAULTCOLLABDIR] and [VAULTPRODIR] paths respectively. If the path is empty, then it means that the client is not installed, and the path will be empty.
- Installer will not work if it doesn't detect one of the above mentioned Vault clients.
- Performs a menu reset, so your custom command should show up after the installer runs and your restart Vault Explorer.
You can look at the MSDN documentation on how to work with installer projects. Also, Kean Walmsley posted a great 3 part series on installers on his blog.
To use my installer project, you basically have to change the parts that say "ChangeMe". Next you add your files to the appropriate folders. For example, if you are supporting all Vault Collaboration and Vault Professional, then you would add your extension files to both of those locations.
Make sure to set the appropriate condition for each file you are installing. For example, all Vault Collaboration files should have [VAULTCOLLABDIR] as the condition.
You may want to update the Vault2011 launch condition if you are not supporting all 3 customizable Vault clients.
Warning: Use of this project may result in you getting stuck as the "Installer Guy".