在批處理指令碼中安裝 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