@H_404_6@
我正在尝试使用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,以便它在待办事项清单上.