.net - 在不使用 msiexec 的情况下从命令行卸载 MSI 文件

标签 .net installation command-line wix windows-installer

msiexec是安装 MSI 的命令提示符软件程序。但是我发现您只需在命令行中输入 MSI 文件的名称即可从命令行安装 MSI 文件。

但是要卸载MSI文件,看来要拨打msiexec程序并给它一个 /x/uninstall .

如何在不使用 msiexec 的情况下从命令行卸载 MSI常规?

最佳答案

简短的回答:你不能。使用 MSIEXEC/x

长答案:当您直接在命令行中运行 MSI 文件时,所发生的一切就是它为您运行 MSIEXEC。此关联存储在注册表中。您可以通过(在 Windows 资源管理器中)转到工具/文件夹选项/文件类型来查看关联列表。

例如,您可以从命令行运行 .DOC 文件,写字板或 WinWord 将为您打开它。

如果您在注册表中查看 HKEY_CLASSES_ROOT\.msi ,您将看到 .MSI 文件与 ProgID“Msi.Package”相关联。如果您查看 HKEY_CLASSES_ROOT\Msi.Package\shell\Open\command ,当您“运行”一个 .MSI 文件时,您将看到 Windows 实际使用的命令行。

关于.net - 在不使用 msiexec 的情况下从命令行卸载 MSI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/450027/

相关文章:

c# - MSI 卸载问题 : Error 1001 -> The saved State dictionary contains inconsistent data and might have been corrupted

java - 有没有办法通过 LAN 以编程方式/命令行从 windows/linux 挂载 android 目录?

python - 如何在 linux 终端控制台中运行 python 脚本并继续使用命令行?

c# - Asp.Net Core API 注入(inject)单例依赖

java - Android (Java) 和 .NET DateTime 之间的高精度时间同步?

open-source - 设置和管理开源项目的最佳实践

c# - 如何取消和回滚 VS2010 Windows Installer 中的自定义操作?

linux - 合并两个文件夹并保持文件同名

.net - 适用于 Windows 的 Amazon EC2 值得吗?

c# - 具有多个 IEnumerable<T> 接口(interface)的类 - 如何处理非泛型方法?