HOWTO · Batch
在批處理指令碼中安裝 MSI 檔案
本教程將討論如何在批處理指令碼中安裝 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 檔案。