【问题标题】:Wix - How to only remove the app root directory during uninstallWix - 如何在卸载期间仅删除应用程序根目录
【发布时间】:2012-07-13 04:00:03
【问题描述】:

使用 Wix 3.5,有没有办法限制卸载期间删除的目录?以下是我正在使用的结构:

<Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="CommonAppDataFolder" Name="CommonAppDataFolder">
        <Directory Id="CommonAppDataSubFolder1" Name="SubFolder1">
          <Directory Id="CommonAppDataSubFolder2" Name="SubFolder2">
            <Directory Id="CommonAppDataSubFolder3" Name="SubFolder3">
              <Directory Id="APPLICATIONROOTDIRECTORY" Name="My_App">
              </Directory>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
</Directory>

在这种情况下,我只想在卸载期间删除“APPLICATIONROOTDIRECTORY”。我的应用程序是另一个供应商的父应用程序的插件。插件开发人员应该安装到特定目录,但在卸载期间不删除整个文件夹结构。我想保留子文件夹 1 到 3。

谢谢,

杰夫

【问题讨论】:

    标签: wix


    【解决方案1】:

    如果这些目录不为空,WiX 将不会删除它们。

    更新: 在您的情况下,如果目录是空的,并且您希望在卸载时保留它们,我建议您从安装程序中删除目录结构。相反,使用自定义操作设置包含安装目录的属性,然后安装到该目录。我认为这可能有效(但尚未测试)。

    【讨论】:

    • 谢谢 Bryan - 在某些情况下,它们可能是空的。这就是我问题的根源。我需要将那些父文件夹留在那里。我的卸载程序应该只删除我的应用程序目录,而不是父应用程序的插件目录结构(可能是一系列空文件夹)。
    • @JeffJohnson,请参阅我的答案的更新。虽然我还没有测试过,但这是一个想法。
    • 感谢您的想法。我会检查那个选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2021-05-19
    相关资源
    最近更新 更多