我正在尝试卸载我们产品的旧版本,该版本是使用 WiX 构建的安装程序安装的,并且在静默卸载后:
msiexec /x{GUID}
该程序仍然出现在控制面板中。我已经开了一个单独的项目 https://stackoverflow.com/questions/54697934/after-using-msiexec-to-uninstall-a-program-it-remains-in-the-control-panel-add/54698365到
探索这个谜团,但另一个奇怪的问题出现了。我注意到运行该程序的安装后,两个条目(GUID)被添加到 HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall 中。一份带有产品 GUID,另一份我不知道它来自哪里。我已经搜索过 .msi,但它不在那里。每次安装时都会创建两者,如果从控制面板卸载,则两者都会被删除,如果从命令行卸载,则两者都会保留在注册表中。所以看看
有人知道这里发生了什么事吗?
嵌入式安装程序.exe:本质上,您安装的 MSI 也安装了嵌入式non-MSI setup.exe
通过作为其自己的安装序列的一部分的自定义操作。或者,有一个setup.exe
按顺序启动 MSI 和旧设置的启动器。结果:有两个条目Add / Remove Programs
.
卸载:这是显而易见的,但要删除第二个条目,除了卸载 MSI 之外,您还必须运行其卸载序列。在卸载方面,非 MSI 设置不如 MSI 软件包可靠。所有 MSI 软件包的隐式可用卸载以及可靠的静默运行是 MSI 的核心优势之一:微星核心优势 https://stackoverflow.com/questions/49624070/how-to-create-windows-installer/49632260#49632260(以及其他主题)。
卸载命令 https://stackoverflow.com/questions/450027/uninstalling-an-msi-file-from-the-command-line-without-using-msiexec/1055933#1055933:尝试运行静默卸载字符串,我想这就是您所做的?
Run commands elevated! With admin rights!
REM Uninstall MSI
msiexec.exe /x {PRODUCT-GUID} /L*v C:\MySetup.log /QN
REM Uninstall legacy setup.exe
"%SystemDrive%\ProgramData\Package Cache\{c5f0cb3e-1de3-4971-843a-abb981ed670c}\MDRSetup.exe" /uninstall /quiet
静音运行:要以静默方式运行旧版设置,您有时必须记录“响应文件”以记录 GUI 中的所有设置并传递给卸载过程。我之前对此有一些回答。您还需要以管理员权限运行:
- 从提取的安装文件创建 MSI https://stackoverflow.com/questions/51932661/create-msi-from-extracted-setup-files/51941558#51941558
- 关于使用 Installshield 2013 (.issuite) 项目文件生成的 Setup.exe 进行静默安装 https://stackoverflow.com/questions/48976617/regarding-silent-installation-using-setup-exe-generated-using-installshield-2013/49011371#49011371
- 如何使用调整后的设置在 /silent 模式下运行安装 https://stackoverflow.com/questions/52327442/how-to-run-an-installation-in-silent-mode-with-adjusted-settings/52338626#52338626
应用程序重新打包 http://www.installsite.org/pages/en/tt_corp.htm: 您正在安装的软件的名称是什么?MDRSetup.exe
, 就是它最大数据恢复1.9?可能不会。摆脱遗留软件可能具有挑战性。如果您有的话,您可以随时尝试将其重新打包为 MSI这样做的工具 http://www.installsite.org/pages/en/tt_corp.htm,或者也许您的公司中有一个团队可以这样做(所有大公司都倾向于这样做)。并非所有旧设置都可以重新打包。可能存在无法捕获的结构,例如某些驱动程序、每台机器生成的唯一密钥等......
Links:
- 从提取的安装文件创建 MSI https://stackoverflow.com/questions/51932661/create-msi-from-extracted-setup-files/51941558
- 如何使用 powershell 运行安装程序? https://stackoverflow.com/questions/46221983/how-can-i-use-powershell-to-run-through-an-installer/46224987#46224987
- Wix - 如何在没有 UI 的情况下运行/安装应用程序 https://stackoverflow.com/questions/48148875/wix-how-to-run-install-application-without-ui/48157650#48157650
- 捕获 Windows 上应用程序安装期间的所有更改 https://stackoverflow.com/questions/1074556/capturing-all-changes-during-an-application-install-on-windows/1075832#1075832
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)