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

前端之家收集整理的这篇文章主要介绍了Wix:我可以在RemoveFolderEx元素上强制条件只在卸载程序时运行吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@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,以便它在待办事项清单上.

猜你在找的Windows相关文章