新手的问题,让我试试,使这个尽可能明确。 我有一个需要安静地执行MSI包的程序(以及多,但是这不是问题)
MSI包包含位于同一目录作为我的程序文件夹中。 我已经给它“InstallFiles”暂时的一个简单的名字。
我并不热衷于使用完整如路径名。 C:\我的程序\其他目录\另一个目录等等,因为它会在多台电脑,新与旧,被放置在这种情况下,驱动器盘符会发生变化。 到目前为止,我有:
install.StartInfo.FileName = "msiexec";
install.StartInfo.Arguments = "/i F:\\InstallFiles\\JRE.msi";
install.Start();
install.WaitForExit();
然而,当它推出了只给我的Windows安装程序切换的信息,然后终止,我怎么得到它的运行,我将如何去改变文件路径?
.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详细的命令行选项。