我安装了一个MSI文件作为Inno安装脚本的一部分。有没有办法也卸载它作为我的程序卸载过程的一部分?
发布于 2013-11-06 17:05:09
最简单的方法是了解该MSI包的GUID是什么,
http://msdn.microsoft.com/en-us/library/aa370568(v=vs.85).aspx
安装后,它将在'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall (或其WOW64 one)下注册。
一旦知道了GUID,就可以通过调用
MsiExec.exe /X{A879B90E-B62C-4DA4-9C3F-79A1A6CFAAF9}
这里{A879B90E-B62C-4DA4-9C3F-79A1A6CFAAF9}是“微软ASP.NET网页- Visual Studio2010工具”的一个例子。
发布于 2013-11-06 15:45:41
有很多变种可以做到这一点。使用批处理:
@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 Framework3.5 SP1“只是一个例子。
https://stackoverflow.com/questions/19806224
复制相似问题