在 Inno Setup 卸载期间卸载 MSI

问题描述 投票:0回答:2

我安装了 MSI 文件作为 Inno Setup 安装脚本的一部分。有没有办法将其作为我的程序卸载过程的一部分来卸载?

windows-installer inno-setup
2个回答
6
投票

最简单的方法是了解该 MSI 包的 GUID 是什么: http://msdn.microsoft.com/en-us/library/aa370568(v=vs.85).aspx

安装后,它将注册在

'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
(或其WOW64)下。

一旦知道 GUID,就可以通过调用来卸载

MsiExec.exe /X{A879B90E-B62C-4DA4-9C3F-79A1A6CFAAF9}

这里

{A879B90E-B62C-4DA4-9C3F-79A1A6CFAAF9}
“Microsoft ASP.NET 网页 - Visual Studio 2010 工具”的示例。


0
投票

有很多变体可以做到这一点。带批次:

@echo off
  setlocal
    set "key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
    set raw=%key%\%%i
    for /f "tokens=7 delims=\" %%i in ('reg query %key%') do (
      if "%%i"=="Microsoft .NET Framework 3.5 SP1" (
        for /f "skip=4 tokens=2,*" %%j in ('reg query "%raw%" /v UninstallString') do (
          rem This command iniatlize uninstallation of .NET Framework
          start /wait "%%k"
        )
      )
    )
  endlocal
exit /b

使用 wmic:

wmic Product where Name="Microsoft .NET Framework 3.5 SP1" call Uninstall

还有更多。

P.S>“Microsoft .NET Framework 3.5 SP1”仅作为示例。

© www.soinside.com 2019 - 2024. All rights reserved.