【问题标题】:VSIX package gets installed by Wix but not uninstalledVSIX 包由 Wix 安装但未卸载
【发布时间】:2013-07-03 20:30:52
【问题描述】:

我创建了一个使用 VsixPackage 扩展安装 VSIX 的 Wix 安装程序。 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 时会出错。

【问题讨论】:

  • 我也有同样的问题。它首先适用于示例项目和我的主要项目,但现在由于未知原因它不适用于两个项目。我的 WIX 工具集版本是 3.6
  • 我遇到了同样的问题,即使是使用 WiX 3.8。 Permanent 设置为 yesno 没有区别

标签: wix vsix


【解决方案1】:

包裹 ID 中有一个空格。 像这样转义包 ID:

<VSExtension:VsixPackage File="MvvmLight.VS2012.vsix"
     PackageId="&quot;MVVM Light..e8b05c55-a169-42aa-a116-064ef2205f80&quot;"
     Target="professional" 
     TargetVersion="11.0" 
     Vital="yes" 
     Permanent="no"/>

【讨论】:

  • 此问题已在 WiX v3.9 的最新版本中得到修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-23
  • 2017-03-03
  • 1970-01-01
  • 2011-09-21
  • 2013-11-01
相关资源
最近更新 更多