wix-静默卸载应用程序时的自定义操作对话框
我正在尝试以:/quiet和/uninstall的标志静默卸载windows应用程序,但安装程序当前未抑制CustomAction对话框。当对话框出现时,用户需要确认(按“是”按钮)删除所有程序生成的数据 有没有办法告诉卸载程序在安静模式下单击“是” 下面是当前的wix代码wix-静默卸载应用程序时的自定义操作对话框,wix,windows-installer,Wix,Windows Installer,我正在尝试以:/quiet和/uninstall的标志静默卸载windows应用程序,但安装程序当前未抑制CustomAction对话框。当对话框出现时,用户需要确认(按“是”按钮)删除所有程序生成的数据 有没有办法告诉卸载程序在安静模式下单击“是” 下面是当前的wix代码 <!-- Remove app data custom action --> <CustomAction Id="SetPathToRemove" Property="ShowRemoveFilesDial
<!-- Remove app data custom action -->
<CustomAction Id="SetPathToRemove" Property="ShowRemoveFilesDialog" Value="[ApplicationAppDataDir]" />
<CustomAction Id="ShowRemoveFilesDialog" BinaryKey='CustomActionsBinary' DllEntry='ShowDialogRemoveFiles'
Execute='deferred' Return='ignore' Impersonate='no'/>
交叉链接:和。老年人:
抑制对话框:如果该对话框在没有适当条件的情况下显示,则不可以立即抑制它,但有许多解决方法 “修复程序”:对于失败或卡住的卸载,有一些不同程度的“疯狂”修复程序(通常用于自定义操作导致卸载回滚并无法完成的失败修复程序-一种无法向前或向后执行的第22条军规):
MS FixIt:有一个有时可以让您摆脱卡住的安装(不确定它是否 应用于自定义操作中的对话框)。如果有,先试试这个 一个或几个例子1)
小升级/补丁:(首选方法)-。这也可以用于“大规模”修复损坏的MSI卸载序列,然后可以在所有机器上调用该序列如果您愿意,真正的解决方案(一旦出现问题)2)
转换:然后在卸载过程中应用该转换(不推荐-过于复杂,容易出错)3)
Dr.No不:如果可以使用的实例很少(基本上与通过修补程序发生的情况相同,只能手动完成)4)
- 如果你有几台机器(比如说1-5台要清理的机器)就行了
- 支持工作-并非没有风险!不推荐
并且不要删除自定义操作!只需在有问题的自定义操作序列中添加一个条件“和0”-这将阻止自定义操作运行
精神错乱症:有些人使用“陌生人海岸”的工具,如AutoIt,它模拟击键来消除卡住的对话框。虽然规模不够大,但可能适用于较小的场景。不推荐。试试这些针对安全软件的工具吧!哦,不!(任何事情都有可能发生,它会崩溃——只是时间问题)5)
非UILevel=2
可以尝试。级别2完全静音运行)
添加条件: 有关如何向InstallExecuteSeSequence添加条件自定义操作的快速模型:
未安装并标记
我想我应该使条件未安装并且FLAG=“1”
。没有测试,留在那里
一些类似或相关的答案:
UILevel条件
是可行的,但我根本不喜欢InstallExecuteSequence
中的这种GUI方法。此自定义操作是否需要提升权限?功能真的是必需的吗?(清除/删除自定义操作的潜在bug是可怕的)。