Wix:是否可以从自定义操作中手动运行RemoveFolderEx元素?
发布时间:2020-12-14 01:52:30 所属栏目:Windows 来源:网络整理
导读:我想知道是否可以从自定义操作手动运行RemoveFolderEx元素.我猜可能不是,但有人可能知道一种我不知道的方式. 我的问题是我想运行RemoveFolderEx元素,但只在真正的UNINSTALL上,但是我的程序在升级时执行它,因为我在重新安装之前将其设置为uninstall. 我通过这
我想知道是否可以从自定义操作手动运行RemoveFolderEx元素.我猜可能不是,但有人可能知道一种我不知道的方式.
我的问题是我想运行RemoveFolderEx元素,但只在真正的UNINSTALL上,但是我的程序在升级时执行它,因为我在重新安装之前将其设置为uninstall. 我通过这种方法尝试过 我唯一能想到的是能够从自定义操作中手动设置RemoveFolderEx,我知道我在正确的点运行并且仅在真正的卸载时运行.也许我的自定义操作可以使用c dll,然后手动将命令添加到MSI接口,但如果我走得那么远,那么我自己也可以完全编写删除逻辑. 谢谢.尼尔 编辑:我终于得到了这个工作,这是一个示例wix来显示我做了什么. <Property Id='P.REMOVEDATAFOLDER' Secure='yes' /> <DirectoryRef Id="DATADIR"> <Component Id="C.RemoveDataFolder" Guid="myguid" KeyPath="yes"> <util:RemoveFolderEx On="uninstall" Property="P.REMOVEDATAFOLDER" /> </Component> </DirectoryRef> <CustomAction Id="CA.SetDataFolder" Property="P.REMOVEDATAFOLDER" Value='[DATADIR]' /> <InstallExecuteSequence> <Custom Action="CA.SetDataFolder" Before="ValidateProductID" >(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom> </InstallExecuteSequence> 在从注册表中读取DATADIR但在CostInitialize操作之前,属性P.REMOVEDATAFOLDER仅在真正的卸载时设置. 解决方法
我会使用以下方法.不要调整RemoveFolderEx操作,但使用条件自定义操作为目标属性设置适当的值.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows – 包刷新内容挂在联系主持人:elpa.gnu.org:80
- windows – 尝试从Vim编译和调试C语言
- 实际上可以使用SSH ControlMaster与Cygwin在Windows上吗?
- 休息 – 为什么Azure返回404资源找不到响应PUT blob请求?
- windows – Combobox更改高亮颜色winRT(metro应用程序)
- windows 系统下python 模块安装
- 在stderr的Windows上更改文本输出颜色
- windows-phone-8 – 如何在Windows Phone 8上扩展Internet
- windows-xp – 绕过RDP客户端警告
- windows – 如何获取内核模块nt和win32k的地址?
推荐文章
站长推荐
热点阅读