3

我创建了一个使用 VsixPackage 扩展安装 VSIX 的 Wix 安装程序。VSIX 安装正确,但是有两件事困扰着我:

  • 用户可以通过 VS 中的工具/扩展菜单卸载 VSIX。
  • 当我卸载 MSI 时,没有卸载 VSIX。

我确实将 VsixPackage 的永久属性设置为 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 时会出错。

4

1 回答 1

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"/>
于 2014-02-27T09:11:44.367 回答