Установка VSIX в Visual Studio 11.0 и 12.0 с помощью WIX

Я пытаюсь установить VSIX на две версии Visual Studio, и это возможно, если делать это вручную:

введите описание изображения здесь

Но когда я пытаюсь установить пакет с помощью установщика MSI, созданного Wix 3.6, vsix устанавливается только на VS2012.

<Component Id="VSPackageComponent" Guid="E54DBAAF-4961-492C-AA8A-FFE3C4C77BA3">
      <VSExtension:VsixPackage File="VsPackageInstaller"
                               PackageId="8cc311e8-5f48-4816-b1ee-6c873fe0dc71"
                               Vital="yes" Permanent="no" />
      <File Id="VsPackageInstaller" Name="VSProject2012.vsix"
                                    Source="VSProject2012.vsix"/>
</Component>

И этот пакет не удаляется при деинсталляции msi (раньше он работал некоторое время). Идентификаторы GUID идентичны (PackageId и Identity Id в манифесте).

Следует ли мне использовать эти рекомендации? Или мне стоит использовать WIX 3.7?


person Taras Kozubski    schedule 19.09.2013    source источник


Ответы (2)


Я думаю, что вам следует установить атрибут TargetVersion в тег VSExtension: VsixPackage. Я установил TargetVersion = "11.0" для установки vsix для VisualStudion 2012. Для двух версий VisualStudio вам понадобятся два элемента VSExtension: VsixPackage. Я использую один vsix для двух VisualStudio Professional и VisualStudio Windows Express (vswinExpress). Вот мой код:

<Component Id="AlvenosVsix" Directory="VSIXES">
  <VSExtension:VsixPackage File="AlvenosVsixFile" PackageId="AlvenosProjectTemplate..330e64ab-f5eb-4211-8fbc-d88485dc13e2" Target="professional" TargetVersion="11.0" Vital="yes" Permanent="no"/>
  <VSExtension:VsixPackage File="AlvenosVsixFile" PackageId="AlvenosProjectTemplate..330e64ab-f5eb-4211-8fbc-d88485dc13e2" Target="vswinExpress" TargetVersion="11.0" Vital="no" Permanent="no"/>
  <File Id="AlvenosVsixFile" Source="ClientAndServerBuilder/Vsixes/Alvenos.vsix" />
</Component>
person Dim_Ka    schedule 09.07.2014

Я рекомендую вам перейти на Wix 3.8 (выпущенный в ноябре прошлого года), потому что он поддерживает VS2013. Wixproj, созданный для Wix 3.6, не требует изменений после установки 3.8.

person user3254217    schedule 30.01.2014