1 vb.net
当我尝试在vb应用程序中使用System.Process.Start("test.msi")运行msi时,我收到以下错误.
无法打开安装包.联系应用供应商......
双击时,Msi文件工作正常,尝试使用文本文件和exe文件的System.Process.Start,它们工作正常,只有msi才有问题
文件.运行远景.也试过xp但没有运气
谢谢
如果你有一个带有msi的setup.exe,那就改用它.否则,请使用以下代码:
Process p = new Process();
p.StartInfo.FileName = "msiexec";
p.StartInfo.Arguments = "/i PathToYour.msi";
p.Start();
Run Code Online (Sandbox Code Playgroud)
(从这里:MSI不在C#内运行)
需要这样做的原因是当你这样做时System.Process.Start("file.txt")它会工作,因为它是(某种)调用notepad.exe %1哪个适用于文本文件但msiexec %1不适用于msi,因为msiexec有一个必需参数(选项).
您可以通过在命令行上尝试msiexec file.msi来自行测试 - 它将为您提供以下有用的消息:

| 归档时间: |
|
| 查看次数: |
5644 次 |
| 最近记录: |