msiexec
是安装MSI程序的命令提示符软件。但我发现只需在命令行输入MSI文件的名称,就可以从命令行安装MSI文件。
但是为了卸载MSI文件,您似乎必须调用msiexec
程序并为其设置/x
或/uninstall
。
如何在不使用msiexec
例程的情况下从命令行卸载MSI?
答案 0 :(得分:142)
答案 1 :(得分:45)
简短的回答:你做不到。使用MSIEXEC / x
答案很长:当您在命令行直接运行MSI文件时,所发生的一切就是它为您运行MSIEXEC。此关联存储在注册表中。您可以通过(在Windows资源管理器中)查看工具/文件夹选项/文件类型的关联列表。
例如,您可以从命令行运行.DOC文件,WordPad或WinWord将为您打开它。
如果查看HKEY_CLASSES_ROOT\.msi
下的注册表,您会看到.MSI文件与ProgID“Msi.Package”相关联。如果查看HKEY_CLASSES_ROOT\Msi.Package\shell\Open\command
,您将看到Windows“运行”.MSI文件时实际使用的命令行。
答案 2 :(得分:31)
另请记住,可以使用WMIC命令启动卸载:
wmic product get name
- >这将列出所有已安装应用程序的名称
wmic product where name='myappsname' call uninstall
- >这将卸载该应用程序。
答案 3 :(得分:3)
msi
文件扩展名映射到msiexec(在命令提示符下键入.txt文件名的方式相同,启动Notepad / default .txt
文件处理程序以显示文件。)
因此,输入带有.msi扩展名的文件名实际上以MSI文件作为参数运行msiexec并采取默认操作install。因此,卸载需要您使用卸载开关调用msiexec以取消安装。
答案 4 :(得分:2)
wmic product get name
只是让cmd卡住......几分钟后仍然闪烁_
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
中,如果您可以找到包含您尝试安装的软件名称的文件夹(而不是使用ProductCode命名的文件夹),则UninstallString指向应用程序自己的卸载程序C:\Program Files\Zune\ZuneSetup.exe /x
答案 5 :(得分:1)
我会尝试以下语法 - 它对我有用。
msiexec /x filename.msi /q
答案 6 :(得分:-1)
我假设当你在命令行输入int file.msi时,Windows会自动为你调用msiexec file.msi。我假设这是因为当你输入picture.png它会调出默认的图片浏览器。