我正在尝试将VSIX安装到Visual Studio的两个版本中,并且手动进行时是可能的:

但是,当我尝试使用由Wix 3.6生成的MSI安装程序安装软件包时,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)。

我应该使用这些recommendations吗?
还是应该使用WIX 3.7?

最佳答案

我认为您应该将TargetVersion属性设置为VSExtension:VsixPackage标签。我为安装Visual Studion 2012的vsix设置了TargetVersion =“11.0”。对于两个版本的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>

关于visual-studio-2012 - 使用WIX将VSIX安装到Visual Studio 11.0和12.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18890491/

10-11 14:59