我创建了一个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="&quot;MVVM Light..e8b05c55-a169-42aa-a116-064ef2205f80&quot;"
         Target="professional"
         TargetVersion="11.0"
         Vital="yes"
         Permanent="no"/>
    

    关于wix - VSIX软件包已通过Wix安装,但未卸载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17457575/

    10-12 03:51