从C#静默执行MSI包
新手问题,让我尽量让它尽可能清楚。 我有一个程序需要静默执行一个msi包(好多个但不是问题)
MSI包包含在与我的程序位于同一目录中的文件夹中。 我暂时给它一个简单的名称“InstallFiles”。
我并不热衷于使用完整路径名称,例如。 C:\我的程序\另一个目录\另一个目录等,因为它将被放在多个PC上,无论是旧的还是新的,在这种情况下,驱动器号可以改变。 到目前为止我有:
install.StartInfo.FileName = "msiexec"; install.StartInfo.Arguments = "/i F:\\InstallFiles\\JRE.msi"; install.Start(); install.WaitForExit();
但是,当它启动时它只给我Windows Installer开关信息然后终止,我如何让它运行,我将如何改变文件路径?
执行.msi文件应该像.exe文件,这是你的答案: https : //stackoverflow.com/a/12436300/359170
使用以下代码启动应用程序:
Process.Start("yourfile.msi");
并且它不需要完整路径,它将当前目录添加到您在那里写入的文件名。
但
System.IO.Directory.GetCurrentDirectory();
获取当前执行的文件目录。 您可以通过向其添加文件名来获取文件路径,如下所示:
string path = System.IO.Directory.GetCurrentDirectory() + "\\yourfile.msi";
使用以下开关:
/ Q [N | B | – [R | F]
Sets user interface level n - No UI b - Basic UI r - Reduced UI
有关详细的命令行选项,请查看http://msdn.microsoft.com/en-us/library/windows/desktop/aa367988%28v=vs.85%29.aspx 。
- SignalR在Chrome上使用服务器发送的事件
- 当从针对任何CPU的C#项目调用时,为什么此代码会抛出System.AccessViolationException?
- 如何在javascript中获取UTC偏移量(在C#中类似于TimeZoneInfo.GetUtcOffset)
- 将Excel数据导入Visual Studio 2010中的DataGridView
- 从websource下载字节数
- IsLittleEndian字段报告错误,但它一定是Little-Endian?
- 通过asp.net中的javascript警告显示exception消息
- 为Windows 8 Store App启用“Toast Notifications”
- 检测和存储Web应用程序客户端所在的时区的最佳方法是什么?