我正在尝试将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?
答案 0 :(得分:2)
我认为您应该将TargetVersion属性设置为VSExtension:VsixPackage标记。我设置了TargetVersion =“11.0”来安装VisualStudion 2012的vsix。对于两个版本的VisualStudio,你需要两个VSExtension:VsixPackage元素。我使用一个vsix用于两个VisualStudio专业版和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>
答案 1 :(得分:1)
我建议您升级到Wix 3.8(去年11月发布),因为它支持VS2013。为Wix 3.6创建的Wixproj在安装3.8后不需要任何更改。