使用WIX

时间:2017-03-24 11:47:25

标签: wix windows-installer

我有一个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>

请注意两个TargetTargetVersion设置。

在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。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

VS2017中的更改需要更改VsixInstaller,如果没有VS2017中的进一步更改,这显然是不可行的:http://wixtoolset.org/development/wips/5433-add-support-to-detect-and-install-vsix-packages-into-vs15/