即使被告知不要,MSI卸载也会重新启动

时间:2014-04-20 08:14:21

标签: windows windows-installer uninstall

我有一个旧版本的产品,我们正在用新版本替换。客户希望我们的安装在执行新安装之前以静默方式卸载以前的安装。唯一的问题是卸载完成后会进行不必要的重启。我尝试了多种方法来卸载

msiexec / qn / uninstall appName.msi / norestart
msiexec / qn / x {12AB-GUID-999} REBOOT = ReallySuppress

每当我尝试安静卸载时,它总会重新启动。我捕获了一个日志文件,它包含无意义的行:

递减计数器以禁用关闭。如果counter> = 0,则拒绝关闭。减量后的计数器:-1

如果要禁用关机,为什么在计数器需要> = 0时递减计数器???

不确定我需要做些什么来解决这个问题。任何建议将不胜感激。

有一点似乎很奇怪,在卸载时,我会在我的任务管理器中看到两个msiexec副本,一个名为msiexec.exe,另一个名为msiexec.exe * 32

我在Windows 7/64位上运行

2 个答案:

答案 0 :(得分:1)

克里斯可能是对的。另一种可能性是MSI中的某些内容明确地将REBOOT属性重置为其他内容,甚至可能是一个提示值。静默重启行为是典型的重启,通常可能会提示,因为无声(/ qn)实际上意味着无声,因为不能有任何用户交互,它只是重启。

其中一个msiexec.exe进程将是安装程序服务,另一个是32位进程,它被启动以运行32位自定义操作(因为您无法从一个32位Dll调用64位进程)。

答案 1 :(得分:0)

如果没有MSI的副本或要查看的日志,我会预测自定义操作正在重新启动计算机。这是由额外的msiexec进程(运行自定义操作)以及告诉MSI REBOOT = R MSI不会重启的事实。周期。

记录MSI和/或将其转换为禁用自定义操作将提供证明。