我想使用 WiX 安装带有 msi 的 VSIX。
我的 wxs 文件中有以下代码
<Component Id ="cmp_WiXGenPackage">
<File Id="fil_WiXGenPackage" Source="$(var.WiXGenerator.VSIX.TargetDir)VSExtension1.vsix" KeyPath="yes" Vital="yes">
<VSExtension:VsixPackage PackageId="WiXGenerator.VSExtension.52858d9a-5c32-4661-926d-66271a65cbba" Vital="yes" Permanent="no" />
</File>
</Component>
当我构建项目时,我得到了一个不错的 msi,但是当我尝试执行它时,它崩溃了。下面是日志中最有趣的部分,并显示了我认为会导致错误的原因:
MSI (s) (94:7C) [18:15:45:956]: Executing op: CustomActionSchedule(Action=vim6D68CD66793FF0B87E58724E51ABAE73,ActionType=3122,Source=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe,Target=/q "C:\Program Files (x86)\[ProductManufacturer]\WiX Generator\VSExtension\VSExtension1.vsix" /admin,)
CustomAction vim6D68CD66793FF0B87E58724E51ABAE73 returned actual error code 1001 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (94:7C) [18:15:46:862]: Note: 1: 1722 2: vim6D68CD66793FF0B87E58724E51ABAE73 3: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe 4: /q "C:\Program Files (x86)\[ProductManufacturer]\WiX Generator\VSExtension\VSExtension1.vsix" /admin
MSI (s) (94:7C) [18:15:46:862]: Note: 1: 2205 2: 3: Error
MSI (s) (94:7C) [18:15:46:862]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1722
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action vim6D68CD66793FF0B87E58724E51ABAE73, location: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe, command: /q "C:\Program Files (x86)\[ProductManufacturer]\WiX Generator\VSExtension\VSExtension1.vsix" /admin
MSI (s) (94:7C) [18:15:48:125]: Note: 1: 2205 2: 3: Error
问题是它使用 VS 11 VSIXInstaller 并且我正在构建一个 VS12 VSIX。当我使用 VS12 版本的 VSIXInstaller 运行 vsix 时,它将毫无问题地安装。
真正的问题:有没有办法指示 WiX 使用 vs12 版本?
我知道 VSIXPackage 元素具有标识版本的属性,但只能用于低于 VSIXInstaller 的版本
我正在使用 WiX 工具集 3.8 版
PS 我知道你们中的一些人反对使用 MSI 来安装 VSIX,但以上都没有要求提供此反馈,因此请不要提供此类评论