gpt4 book ai didi

Wix:我可以对 RemoveFolderEx 元素施加一个条件,使其仅在程序被卸载时运行吗?

转载 作者:行者123 更新时间:2023-12-04 20:46:43 25 4
gpt4 key购买 nike

我正在尝试使用 RemoveFolderEx 删除文件夹层次结构,但仅在我卸载软件时。目前,当我重新安装时,它也会删除所有文件夹,这会删除所有程序创建的不受欢迎的内容。这可能是因为我已将软件设置为在重新安装之前要卸载

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

是否可以对以下元素施加条件?我应该将它包装在它自己的组件中然后在里面添加一个条件吗?到目前为止,我还无法让它工作。
<util:RemoveFolderEx On="uninstall" Property="MAINDIR" ></util:RemoveFolderEx>

从另一个问题我知道条件必须是
((NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL"))

但如果可能的话,我还不是 100% 知道如何将它应用于 removefolder 元素。

我想我可以在受条件约束的自定义操作上将文件夹的路径设置为空,但这看起来很hacky。

干杯。
尼尔

编辑:通过将 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 绑定(bind)到一个组件,所以如果它被删除并且 RemoveFolderEx/@On="uninstall"那么 RemoveFolderEx 会做它的事情。不支持添加另一个条件,但这似乎是合理的;请提交 feature request所以它在待办事项列表上。

关于Wix:我可以对 RemoveFolderEx 元素施加一个条件,使其仅在程序被卸载时运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com