由于某些依赖关系,我们在部分安装期间关闭了Windows资源管理器。作为紧急安全,如果我们失败,我想确保用户有一个shell。我认为使用'Execute =“rollback”'的34型自定义动作是我想要做的,但我似乎不够聪明来制作CA.
这就是我所拥有的:
<CustomAction Id="RestartExplorer"
ExeCommand="explorer.exe"
Execute="rollback"
Impersonate="yes"
Return="asyncNoWait"/>
我知道我缺少一个目录元素,但我不知道如何指定一个平台无关的方法来指定%windir%\ system32。使用环境变量或脚本不是一种选择。
谢谢:)
答案 0 :(得分:1)
我从未试图在安装过程中杀死资源管理器。不是自动重启吗?如果在安装时重新启动会怎么样?
否则,如果我这样做,我会使用QuietExec custom action启动它。
您还希望在InstallFinalize之后将其作为立即自定义操作启动。注意我没有说提交,因为可以禁用回滚并且提交不会执行。
SystemFolder property也是您正在寻找的。确保在32位和64位计算机上进行测试。
答案 1 :(得分:0)
在我能想到的任何情况下,杀死资源管理器都是错误的。我没有重新启动资源管理器,而是在shell扩展中修复了错误;)感谢您的帮助