ssCAROのブログ

色んなとこで見つけたプログラムのメモ置き場っぽい

Office 2019のオフラインインストール用のbatファイルを作成

ローカルネットワークのパソコンに、ボリュームライセンスで購入したOffice Standard 2019をオフラインでインストールすることになった。
誰でも出来るようにということで、オフラインインストール用のDVDメディアを作成した。

オフラインでのインストール準備に必要なファイルは前の記事を見てください。
ボリュームライセンスによるExcel 2019 単体のオフラインインストール

オフラインインストール用データのダウンロード

32ビット/64ビットの両方をダウンロードした。

・configuration-x86.xml (32ビット版)

<Configuration>
  <Add SourcePath="C:\Office2019\Download_x86" OfficeClientEdition="32" Channel="PerpetualVL2019">
      <Product ID="Standard2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>

・configuration-x64.xml (64ビット版)

<Configuration>
  <Add SourcePath="C:\Office2019\Download_x64" OfficeClientEdition="64" Channel="PerpetualVL2019">
      <Product ID="Standard2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>

コマンドプロンプトから次を実行

setup /download configuration-x86.xml
setup /download configuration-x64.xml

これで、次のフォルダに32ビット/64ビットのデータがダウンロードできる。
C:\Office2019\Download_x86
C:\Office2019\Download_x64

インストーラーファイルの作成

次の2つのファイルを作成する。(シフトJISで作成する)
・configuration-template.xml
・Office_Setup.bat

configuration-template.xml

<Configuration>
  <Add SourcePath="$SourcePath$" OfficeClientEdition="$OfficeClientEdition$" Channel="PerpetualVL2019">
    <Product ID="Standard2019Volume">
      <Language ID="ja-jp" />
    </Product>
  </Add>
</Configuration>

Office_Setup.bat

rem Office 2019 のオフラインインストールを実行します。
rem DVDメディア等にオフラインデータを書き込んでいることを想定しています。
@echo off
cls

:SELECTED_BITS
echo.
echo インストールをする Office のバージョンを入力してください。
echo.
echo 1:32ビット版
echo 2:64ビット版
echo.
set /P InstalledBits="インストールをするバージョンは?:"

rem 構成ファイルのテンプレートのパス
set TemplatePath=%~dp0configuration-template.xml
rem Tempフォルダに出力した構成ファイルののパス
set ConfigurationPath=%temp%\configuration.xml

rem 構成ファイルのパラメータ
if %InstalledBits%==1 goto SELECTED_32BIT
if %InstalledBits%==2 goto SELECTED_64BIT
goto SELECTED_ERROR

rem 32ビット版を選択
:SELECTED_32BIT
set SourcePath=%~dp0Download_x86
set OfficeClientEdition=32
goto INSTALL

rem 64ビット版を選択
:SELECTED_64BIT
set SourcePath=%~dp0Download_x64
set OfficeClientEdition=64
goto INSTALL

rem 入力の間違い
:SELECTED_ERROR
echo.
echo.
echo 1 または 2 を入力してください。
echo.
pause
cls
goto SELECTED_BITS

:INSTALL
rem 既に構成ファイルがあれば削除
if exist %ConfigurationPath% del %ConfigurationPath%
rem テンプレートを読み込みパラメータを置き換えて
rem Tempフォルダに構成ファイルを出力する。
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%TemplatePath%) do (
    set line0=%%a
    set line1=!line0:$SourcePath$=%SourcePath%!
    set line2=!line1:$OfficeClientEdition$=%OfficeClientEdition%!
    echo !line2!>>%ConfigurationPath%
)
endlocal

rem setup.exeを実行
start %~dp0setup.exe /configure %ConfigurationPath%

:END
DVDメディア(USBメモリ)へデータの書き込み

次のフォルダ、ファイルをメディアに書き込む。
・Download_x86 のフォルダ
・Download_x64 のフォルダ
・setup.exe
・Office_Setup.bat
・configuration-template.xml

Office のインストール

DVDメディア(USBメモリ)に書き込まれた、Office_Setup.bat を実行します。
インストールをするバージョン(32ビット/64ビット)を選択してEnterキーを押すとオフラインでのインストールが始まります。

やってることの説明とか
configuration-template.xmlに書かれた$SourcePath$や$OfficeClientEdition$をbatファイルで書き換えて、Tempフォルダにconfiguration.xmlとして出力して、setup.exeに、この出力したxmlを渡して実行している。