我创建了一个 Wix 安装程序,它使用 VsixPackage 扩展安装 VSIX。 VSIX 安装正确,但有两件事困扰着我:
- 用户可以通过 VS 中的工具/扩展菜单卸载 VSIX。
- 当我卸载 MSI 时,VSIX 没有被卸载。
我确实将 VsixPackage 的 Permanent 属性设置为 no。这是标记:
<Component Id="VSIXVS11"
Guid="2C85F474-3E44-4A38-AC2D-0A6F6B1049DA">
<VSExtension:VsixPackage File="MvvmLight.VS2012.vsix"
PackageId="MVVM Light..e8b05c55-a169-42aa-a116-064ef2205f80"
Target="professional"
TargetVersion="11.0"
Vital="yes"
Permanent="no"/>
<File Id="MvvmLight.VS2012.vsix"
Name="MvvmLight.VS2012.vsix"
DiskId="1"
Source="..\..\InstallItems\VSIX\Release\MvvmLight.VS2012.vsix" />
</Component>
知道是什么导致 VSIX 无法卸载吗?
注意:未设置 VSIX 的“此 VSIX 由 Windows Installer 安装”标志。如果我尝试设置它,我会在运行 MSI 时遇到错误。
最佳答案
您的包 ID 中有一个空格。 像这样转义包 ID:
<VSExtension:VsixPackage File="MvvmLight.VS2012.vsix"
PackageId=""MVVM Light..e8b05c55-a169-42aa-a116-064ef2205f80""
Target="professional"
TargetVersion="11.0"
Vital="yes"
Permanent="no"/>
关于wix - VSIX 包由 Wix 安装但未卸载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17457575/