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 ビットかを確認しました。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 ファイルを自動的にインストールします。