在批处理脚本中安装 MSI 文件

MD Aminul Islam 2022年6月21日
在批处理脚本中安装 MSI 文件

在 Windows 中,只需双击或在必要时以管理员身份运行文件即可在系统中轻松安装 .msi 文件。我们还可以使用批处理脚本安装 .msi

本文将展示我们如何使用批处理脚本安装 .msi 文件。我们还看到了一个带有适当解释的示例,以使该主题更易于理解。

在批处理脚本中安装 MSI 文件

在下面的示例中,我们将安装一个 .msi 文件。此外,我们将检查系统是 32 位还是 64 位。

我们示例的代码如下所示。

@ECHO off
ECHO Checking Windows OS architecture...
ECHO %PROCESSOR_ARCHITECTURE%  | findstr /i ".64." > nul
IF %ERRORLEVEL% EQU 0 GOTO ver_64
GOTO ver_32

:ver_32
ECHO 32 bit detected
ECHO Installing application...
if EXIST "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt" GOTO :end
NET USE u: "\\SMP-W2K8-01.EPM.LOCAL\NSCap\Bin\Win32\X86\Software Management\Plugin"
msiexec.exe /q  /i "u:\SoftwareManagementSolution_Plugin_x86.msi"
TIMEOUT 30
TIME /T > "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt"
NET USE u: /DELETE
:end
pause
exit

:ver_64
ECHO 64 bit detected
ECHO Installing application...
if EXIST "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt" GOTO :end
NET USE u: "\\SMP-W2K8-01.EPM.LOCAL\NSCap\Bin\Win64\X64\Software Management\Plugin"
msiexec.exe /q  /i "u:\SoftwareManagementSolution_Plugin_x64.msi"
TIMEOUT 30
TIME /T > "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt"
NET USE u: /DELETE
:end
pause
exit

在我们的示例中,我们首先检查系统是 32 位还是 64 位。Batch 中名为 PROCESSOR_ARCHITECTURE 的内置变量包含 .86.64 符号。

通过这个,我们可以得到处理器的架构。为此,我们使用了以下代码行。

@ECHO off
ECHO Checking Windows OS architecture...
ECHO %PROCESSOR_ARCHITECTURE%  | findstr /i ".64." > nul
IF %ERRORLEVEL% EQU 0 GOTO ver_64
GOTO ver_32

msiexec.exe /q /i 行中,/q 表示安静/i 表示安装"C:\Program Files\SMP\SMP Agent\installSMPlugin.txt" 是你的 SMP 插件的位置。

你可以根据你的系统进行修改。 \\SMP-W2K8-01.EPM.LOCAL\NSCap\Bin\Win32\X86\Software Management\Plugin 是你的 SMP 服务器的位置。

最后,u:\SoftwareManagementSolution_Plugin_x86.msi 是你的 .msi 文件的位置。

对于 32 位安装,我们使用以下代码行。

:ver_32
ECHO 32 bit detected
ECHO Installing application...
if EXIST "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt" GOTO :end
NET USE u: "\\SMP-W2K8-01.EPM.LOCAL\NSCap\Bin\Win32\X86\Software Management\Plugin"
msiexec.exe /q  /i "u:\SoftwareManagementSolution_Plugin_x86.msi"
TIMEOUT 30
TIME /T > "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt"
NET USE u: /DELETE
:end
pause
exit

对于 64 位安装,我们使用了以下代码行。

:ver_64
ECHO 64 bit detected
ECHO Installing application...
if EXIST "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt" GOTO :end
NET USE u: "\\SMP-W2K8-01.EPM.LOCAL\NSCap\Bin\Win64\X64\Software Management\Plugin"
msiexec.exe /q  /i "u:\SoftwareManagementSolution_Plugin_x64.msi"
TIMEOUT 30
TIME /T > "C:\Program Files\SMP\SMP Agent\installSMPlugin.txt"
NET USE u: /DELETE
:end
pause
exit

如果每个文件位置和目录都正常,该脚本会自动安装你的 .msi 文件。

作者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

相关文章 - Batch File