卸载后停止命令窗口中的 .exe 重新启动计算机

卸载后停止命令窗口中的 .exe 重新启动计算机

我正在从几千台客户端计算机上卸载 Cisco Agent Desktop 维护更新,但无法阻止它重新启动。MSI 文件正在调用srRollbackRepair.exe在空白 CMD 窗口中运行的文件,大约 10 秒后它会重新启动计算机。

不需要srRollbackRepair,因为它正在尝试修复原始安装,原始安装也将被删除(或可能已被删除),因此没有必要进行回滚修复。如果我删除原始应用程序(没有维护更新),它会保留更新。

有没有办法让我设置某种标志/开关,

  1. 阻止.exe被 MSI 调用或
  2. 防止srRollbackRepair.exe产生重新启动或
  3. 由于不需要回滚,因此在完成并重新启动之前会自动关闭 cmd 窗口?

也许有一种方法可以在几毫秒后自动关闭 cmd 窗口?我知道.exe正在启动重启,因为我可以独立于 MSI 运行它,然后它会重新启动。

另外,我知道 MSI 不需要该.exe文件来完成卸载,因为如果我在启动后退出其 cmd 窗口,它将永远不会重新启动 - 并且在程序和功能下,维护包已经消失了。

我已经在.exe和 MSI 上尝试了以下操作:

/? (generates nothing for exe)
REBOOT=REALLYSUPRESS
/noreboot
/norestart
/delayrestart

答案1

使用 MSI 命令行的 InstallShield

记录卸载ISS应答文件:

setup.exe /uninst /r /f1"<ISS_Files_Directory>\uninstall.iss"

静默卸载使用 ISS 应答文件:

setup.exe /uninst /s /f1"<ISS_Files_Directory>\uninstall.iss"

可能会有帮助……

方法 2,特权常量

  1. 禁用特权 SE_SHUTDOWN_NAME。

  2. 卸载 MSI。

  3. 启用权限 SE_SHUTDOWN_NAME。

答案2

只需先重命名或删除 srRollbackRepair.exe 即可。我的文件如下所示:

del /f /q "{path-to-the-file}\srRollbackRepair.exe" 
#uninstall service release
msiexec.exe /qn /x{4682F8A7-0BA1-4165-A003-EC50BB43A8AF} /norestart
#uninstall CAD
MsiExec.exe /qn /x{007C5E6D-3037-4C00-A5FD-561F239169C4} /norestart

验证安装代码是否适合您的版本,否则您应该没问题。我使用它来删除 CAD,然后安装较新的版本。

相关内容