连续安装多个msi文件

时间:2019-01-02 15:28:26

标签: powershell batch-file install

我最近才开始使用(并学习如何)脚本。我正在使用Powershell ISE,并试图创建一个可以在新计算机上运行以安装多个/各种程序的脚本。我在.exe和.msi中都有程序,并且希望程序以静默方式连续安装。再次,我是一个初学者,但是请整理下面的脚本来完成此操作。我试图找出什么变量/命令将确保程序一一安装。

msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'
msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'
msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'
msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'
msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'
msiexec.exe /q /i '\\Server\Folder\Applications\msi files\file.msi'

我最初以.bat文件开头,并且可以运行它以安装.exe文件,但是它们都可以同时运行。因此,我认为创建脚本(而不是.bat文件)将是我最好的选择。任何和所有输入和/或帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果这是您想要的,则不能一次运行多个.msi文件。如果要连续运行它们,在Powershell中将如下所示:

如果是msi:

Start-Process msiexec.exe -Wait -ArgumentList '/I ProgramName.msi /quiet'

如果是exe:

 Start-Process programname.exe -Wait -ArgumentList '/I /quiet'

基本上-Wait参数将等待Windows安装程序关闭,直到进入下一行代码为止。根据开发人员的不同,某些msi确实具有不同的args分类方法。有时是/ q,/ qn或/ quiet。

答案 1 :(得分:0)

Windows Installer msiexec.exe 引擎应在退出之前等待安装完成。我怀疑您的命令行错误,这就是为什么看起来它们都同时运行和退出的原因。

示例命令行 :也许尝试此命令行(也许放在 MyTest.cmd 中并运行):

msiexec.exe /i MySetup.msi /L*V C:\MyLog.log /qn ADDLOCAL=ALL REBOOT=ReallySuppress ALLUSERS=1

为需要安装的每个MSI重复命令行。

记录 :显然,日志文件应具有唯一的名称。您可以enable logging for all MSI installations 'Globally for all setups on a machine' 部分)。然后,每次执行MSI操作后,您都会在系统的 %TEMP% 文件夹中找到一个随机名称的新MSI日志文件。按更改日期排序以查找最新日期。要在MSI日志中查找错误,请try searching for "value 3"

更多信息可应要求提供。请不要添加您自己的答案,而是编辑原始问题。只需添加更多信息,删除或您需要的任何内容即可。我们具有版本控制功能,因此我们可以根据需要找到您要删除的内容。