Recently Microsoft recanted their decision to drop support for Windows XP with Visual Studio 2012 Update 1. I've been told by our product manager that I can move to using the Visual Studio 2012 compiler provided:
- We continue to support our Windows XP customers.
- We don't introduce any additional pre-requisites beyond Windows XP SP3 (since we have a contract with some customers to that effect).
I've tried converting our solution to use the VC2012 XP tool set and all now works well from a code point of view. However, our WiX installer project complained about the fact that we were now trying to include the VC2012 Runtime Merge Modules and that these only support Windows Installer 4.5. This version of Windows Installer wasn't available in Windows XP SP3 so it would mean that our customers would have to install the Windows Installer 4.5 Redistributable package in order to be able to install our product.
Is it possible to work around this issue and still use those merge modules in a way that would support Windows Installer 3.0?
So we're currently setting:
<Package InstallerVersion="300" />
But the merge modules appear to need us to set:
<Package InstallerVersion="405" />
Which would mean we couldn't support Windows XP SP3 out of the box.
Here's the error from WiX:
warning LGHT1104: Merge module 'Microsoft_VC110_ATL' has an installer version of 405 which is greater than the product's installer version of 300. Merging a module with a higher installer version than the product it is being merged into can result in invalid values in the resulting msi. You must set the Package/@InstallerVersion attribute to 405 or greater to merge this merge module into your product.