加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Wix:我可以在RemoveFolderEx元素上强制条件只在卸载程序时运行

发布时间:2020-12-14 05:31:15 所属栏目:Windows 来源:网络整理
导读:我正在尝试使用RemoveFolderEx删除文件夹层次结构,但仅在我卸载软件时.目前,当我重新安装时,它会删除所有文件夹,删除所有不希望的程序创建内容.这可能是因为我在重新安装之前已将软件设置为已卸载 InstallExecuteSequence RemoveExistingProducts Before="In
我正在尝试使用RemoveFolderEx删除文件夹层次结构,但仅在我卸载软件时.目前,当我重新安装时,它会删除所有文件夹,删除所有不希望的程序创建内容.这可能是因为我在重新安装之前已将软件设置为已卸载

<InstallExecuteSequence>
    <RemoveExistingProducts Before="InstallInitialize" />      
</InstallExecuteSequence>

是否有可能对以下元素施加条件?我应该将它包装在它自己的组件中,然后在里面添加一个条件吗?到目前为止,我还没能把它付诸实践.

<util:RemoveFolderEx On="uninstall" Property="MAINDIR" ></util:RemoveFolderEx>

从另一个问题我知道条件必须是

((NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL"))

但如果可能的话,我不是100%关于如何将它应用于removefolder元素.

我想我可以设置文件夹的路径在一个自定义操作上为空,这个条件受到条件限制,但这看起来很糟糕.

干杯.
尼尔

编辑:我几乎通过将removefolderex放入其自己的组件中来实现这一点.没有条件,它按预期工作,并在卸载和重新安装时删除数据目录.当我添加条件时,它不会运行,但我希望这可以归结为错误的条件.

<DirectoryRef Id="DATADIR">        
    <Component Id="C.RemoveDataFolder" Guid="myguid" KeyPath="yes">
        <util:RemoveFolderEx On="uninstall" Property="DATADIR" ></util:RemoveFolderEx>
        <Condition>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Condition>
    </Component>
</DirectoryRef>

有谁知道上述声明是否正常或者这是否会起作用?我可以将这种条件应用于组件吗?

解决方法

RemoveFolderEx绑定到一个组件,因此如果它被删除并且RemoveFolderEx / @ On =“uninstall”,则RemoveFolderEx将执行其操作.没有支持增加另一个条件,但这似乎是合理的;请提交 feature request,以便它在待办事项清单上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读