最近,微软撤回了在Visual Studio 2012 Update 1中停止对Windows XP支持的决定。我们的产品经理告诉我,只要满足以下两个条件,就可以使用Visual Studio 2012编译器:
1. 继续支持Windows XP用户。 2. 不引入除Windows XP SP3之外的任何附加先决条件(因为我们与某些客户签订了协议)。
我尝试将解决方案转换为使用VC2012 XP工具集,并且从代码角度来看一切都运行良好。然而,我们的WiX安装程序项目却抱怨我们现在在尝试包含VC2012 Runtime合并模块,并且这些模块仅支持Windows Installer 4.5。这个Windows Installer版本在Windows XP SP3中不可用,这意味着我们的客户需要安装Windows Installer 4.5可再发行包才能安装我们的产品。
有没有办法解决这个问题,在支持Windows Installer 3.0的情况下仍然使用那些合并模块?
因此,我们目前正在设置:
这将意味着我们无法直接支持Windows XP SP3。以下是来自WiX的错误信息:警告LGHT1104:合并模块'Microsoft_VC110_ATL'具有安装程序版本405,高于产品的安装程序版本300。将比所要合并到的产品更高安装程序版本的模块合并可能会导致结果msi中出现无效值。您必须将Package/@InstallerVersion属性设置为405或更高才能将此合并模块合并到产品中。
1. 继续支持Windows XP用户。 2. 不引入除Windows XP SP3之外的任何附加先决条件(因为我们与某些客户签订了协议)。
我尝试将解决方案转换为使用VC2012 XP工具集,并且从代码角度来看一切都运行良好。然而,我们的WiX安装程序项目却抱怨我们现在在尝试包含VC2012 Runtime合并模块,并且这些模块仅支持Windows Installer 4.5。这个Windows Installer版本在Windows XP SP3中不可用,这意味着我们的客户需要安装Windows Installer 4.5可再发行包才能安装我们的产品。
有没有办法解决这个问题,在支持Windows Installer 3.0的情况下仍然使用那些合并模块?
因此,我们目前正在设置:
<Package InstallerVersion="300" />
但是合并模块似乎需要我们设置:
<Package InstallerVersion="405" />
这将意味着我们无法直接支持Windows XP SP3。以下是来自WiX的错误信息:警告LGHT1104:合并模块'Microsoft_VC110_ATL'具有安装程序版本405,高于产品的安装程序版本300。将比所要合并到的产品更高安装程序版本的模块合并可能会导致结果msi中出现无效值。您必须将Package/@InstallerVersion属性设置为405或更高才能将此合并模块合并到产品中。