2013-12-11 105 views
3

我想使用WiX安裝帶有msi的VSIX。如何判斷WiX使用哪個版本的VsixInstaller?

我在我的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和IM建設VS12 VSIX。當我使用VSIXInstaller的VS12版本運行vsix時,它將安裝時沒有問題。

真正的問題: 有沒有辦法指導WiX使用vs12版本?

我知道VSIXPackage元素具有attributes識別的版本,但只能被用於除VSIXInstaller

林更低版本使用的WiX工具集3.8版

附: 我知道一些的U反對使用MSI安裝VSIX但沒有上述要求的這種反饋,請提供沒有這樣的評論

回答

1

VsixPackage有兩個屬性,讓您設置要在Visual Studio版本安裝擴展和Visual Studio的類型。例如,如果您按照以下方式設置屬性:Target =「integratedShell」TargetVersion =「12.0」,則說明安裝程序執行了要安裝到類型爲IntegrateShell的Visual Studio 2013的擴展。有關您可以在這些屬性中設置的值的更多信息,請點擊此頁VsixPackage info

相關問題