卸载后如何让WiX离开文件?

gle*_*roo 26 wix uninstall file

有没有办法在卸载后不删除文件?

Sim*_*rim 39

像这样设置ComponentPermanent="yes":

<Component Id="LicenseDoc" Guid="*" Permanent="yes">
    <File Id ="License.rtf" Source="$(var.SolutionDir)Installer\License.rtf" />
</Component>
Run Code Online (Sandbox Code Playgroud)

  • 我把这个问题发给了wixusers的邮件列表并得到了相同的答案,但也注意到了永久的旗帜(Phil Wilson的赞美):只要每个人都意识到永久意味着永久永久.它并不意味着"直到我将设置更改为非永久性".它使该组件永久保留在系统上,除非"永久永久安装",否则我不会使用它. (7认同)

gle*_*roo 6

来自wixusers邮件列表的Phil Wilson的赞美:

请参阅Component表的MSI SDK文档 - 将Component guid设置为null(空).这样做的结果是组件未注册(因此无法修复)并且不会被卸载.


小智 6

我知道这个问题很老,但我只是偶然发现了它,因为我正在寻找一种方法让我的安装程序安装缺少的字体,但在卸载应用程序时不卸载它们。希望它可以帮助可能遇到这个问题的其他人。我对提供的两种解决方案(空白/空 Guid 或将组件设置为永久)都感到有点不舒服。所以我想出了这个,这对我有用:

<Feature Id="myFonts" Title="Application Fonts" Level="1">
  <ComponentGroupRef Id="Component_group_with_fonts_to_install" />
  <Condition Level="0">
    <![CDATA[REMOVE = "ALL"]]>
  </Condition>
</Feature>
Run Code Online (Sandbox Code Playgroud)

这样字体功能就安装好了,但是在卸载的时候,这个功能的级别被设置为0,所以就不管了。