我有一个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)
所以问题是设置试图使用VSIXnstaller的VS2015版本将VSIX软件包安装到VS2017。
我做错了什么?它可能是WiX中的一个错误吗?
我正在使用WiX v3.11.0.1507。
感谢您的帮助。
答案 0 :(得分:0)
VS2017中的更改需要更改VsixInstaller,如果没有VS2017中的进一步更改,这显然是不可行的:http://wixtoolset.org/development/wips/5433-add-support-to-detect-and-install-vsix-packages-into-vs15/