2013-12-11 5 views
3

Я хочу установить свой VSIX с помощью msi с помощью WiX.Как узнать 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 и им строить VS12 VSIX. Когда я запускаю vsix с версией VSIXInstaller VS12, он будет устанавливать без проблем.

Настоящий вопрос: Есть ли способ научить WiX использовать версию vs12?

я знаю элемент VSIXPackage имеет attributes идентифицировать версию, но которая может быть использована только для версий ниже, чем VSIXInstaller

Im, используя WiX Toolset версия 3.8

P.S. Я знаю, что некоторые из вас против использования MSI для установки VSIX, но ни один из вышеперечисленных вопросов не требует такой обратной связи, поэтому не оставляйте таких комментариев.

ответ

1

VsixPackage имеет два атрибута, которые позволяют установить версию Visual Studio, установите расширение и тип визуальной Studio. Например, если вы устанавливаете такие атрибуты следующим образом: Target = "integratedShell" TargetVersion = "12.0", вы сообщаете установщику, который выполняет расширение, которое будет установлено в Visual Studio 2013 типа IntegrateShell. Более подробную информацию о значении, который вы можете указать в этих атрибутах, вы можете найти на этой странице. VsixPackage info

Смежные вопросы