我有一个WiX安装项目,它使用Vs扩展中的wix:VsixPackage元素安装VSIX包。
我正在尝试修改此安装项目以同时支持Visual Studio 2015和Visual Studio 2017。因此,我像这样修改了设置定义:
<Component Id="Modeling.Factory" Guid="1A5C7D5C-676E-46D9-9808-5FE79A51B8B3">
<File
Id="Modeling.Factory.vsix"
Name="Primavera.Modeling.Factory.Shell3.vsix"
Source="$(var.SolutionDir)\Bin\Primavera.Modeling.Factory.Shell3.vsix"
Vital="yes">
<wix:VsixPackage
PackageId="FA9F2DC1-30A2-4C88-AFC6-3CD5A49C39CB"
Target="Pro"
TargetVersion="14.0"
Permanent="no"
Vital="yes" />
<wix:VsixPackage
PackageId="FA9F2DC1-30A2-4C88-AFC6-3CD5A49C39CB"
Target="Pro"
TargetVersion="15.0"
Permanent="no"
Vital="yes" />
</File>
</Component>请注意两个Target和TargetVersion设置。
无论是在VS2015中还是在VS2017中,设置都是在没有任何警告的情况下构建的。
当我运行安装程序时,它失败了。安装日志文件包含标识问题的以下行:
MSI (s) (A0:3C) [11:36:57:314]: Executing op: CustomActionSchedule(Action=vim2916624A52A9C02C06B731DECBEAB911,ActionType=3122,Source=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\VSIXInstaller.exe,Target=/q /skuName:Pro /skuVersion:15.0 "C:\Program Files (x86)\PRIMAVERA\Elevation SDK v3.00\Temp\Primavera.Modeling.Factory.Shell3.vsix" /admin,)
CustomAction vim2916624A52A9C02C06B731DECBEAB911 returned actual error code 2003 (note this may not be 100% accurate if translation happened inside sandbox)因此,问题是安装程序试图使用VS2015版本的VSIXnstaller将VSIX包安装到VS2017。
我做错了什么?这可能是WiX中的一个bug吗?
我使用的是WiX v3.11.0.1507。
谢谢你的帮助。
发布于 2017-03-24 23:03:25
VS2017中的更改需要更改VsixInstaller,如果不进一步更改VS2017,这些更改显然是不可行的:http://wixtoolset.org/development/wips/5433-add-support-to-detect-and-install-vsix-packages-into-vs15/
https://stackoverflow.com/questions/42998732
复制相似问题