2020/01/18(Sat)
○[Windows] Office 2013以降をサイレントインストールする
家族マシンのOffice2010 Home and Businessが今年EOLを迎える予定なもんで、自分マシン用に買ってあったOffice 2013 Professionalのライセンスを譲り渡す予定 *1なのだけど、ちょっと管理の面で困ったことになるのだよな。
というのもOffice 2013以降はインストーラーと差分パッチが旧来の.msiと.msuではなく、C2R(Click-to-Run)インストーラーによってAPP-Vベースのアプリケーション仮想化されたOfficeがインスコされるのよね。 なのでアプリ起動すれば常にインターネットから最新版をダウンロードし実行することになるわけで、互換性の問題が発生するような特定のパッチだけ回避するみたいな運用が難しくなるのだ。
エンプラのシスアド様ならボリュームライセンスユーザーやろうしその場合は旧来のインストーラーも提供されとるので、これまでどおりWSUSによる管理も可能、あるいはローカルにAPP-Vサーバ建てて管理もできるのだろうけど自宅シスアドにはさすがに厳しいのだ *2。
そのうち全てがOffice365みたいな月額サービスになっていくのだろうけど、あれは金持ちに優しく貧乏人にエグイ逆進性最たるもので、金のないヤツはパソコンを使うなと同義のデジタルデバイドそのものだからあんまり気分のいいもんじゃねえな。
まあ話が脱線したのでとりあえず表題の件、 Office Deployment Tool(Office 展開ツール)ちゅーものを使うとC2R形式でもサイレントインストールの実行は可能ではある。
まず ここから2013用のODTを入手して実行しEULAを承諾するとsetup.exeとconfigure.xmlの2ファイルが展開される(とりあえず展開先はとりあえずC:\office2013\とする)、このうちconfigure.xmlを
<Configuration>
<Add SourcePath="C:\office2013\" OfficeClientEdition="32" >
<Product ID="ProfessionalRetail">
<Language ID="ja-jp" />
</Product>
</Add>
</Configuration>
ってな感じで編集し
C:\office2013\>setup /download configure.xml
を実行し、Office 2013 Professionalの32bit版のC2Rインストールイメージを取得しとく。
ダウンロードが完了したらWindows 8.1のインストーラーに統合する、C:\office2013\をまるっとUSBなどに展開したインストールメディアの\sources\$OEM$\$$\Setup\Files\office2013\としてコピー。 んでSourcePathを以下のように書換えておく。
<Add SourcePath="%WINDIR\Setup\Files\office2013\" OfficeClientEdition="32" >
後は\sources\$OEM$\$$\Setup\Scripts\SetupComplete.cmdを作成し
@echo off
"%WINDIR%\Setup\Files\office2013\setup.exe" /configure "%WINDIR%\Setup\Files\office2013\configuration.xml"
rd /q /s "%WINDIR%\Setup\Files"
del /q /f "%0"
と記述しておけば、インストール時のセットアップウィザード終了後にOffice2013がインストールされるという次第 *3。
後は初回のOffice2013起動時にEULAを承諾してシリアル叩き込んでインターネット認証をすればいい *4。
それにしても家族マシンはサイレントインストールできねえプリンタやカメラ等の付属アプリなんかが大量にあるので、結局自動化は中途半端でそいつら手作業でインストールしなけりゃならんのでクソめんどくさい。 まぁ2023年にWindows 8.1がEOLになる頃にはこいつらもバージョンアップ重ねてWindows 10対応が進み、UWPアプリとしてdism /Add-ProvisionedAppxPackage使って楽々インストーラーに統合できるようになってる事を祈ろう… ゆーてその頃にワイ生きとる気はせんのやけど。
*2:こちらもHP Microserverのバンドルで買ったWindows Server 2008 R2もEOLを迎えてしまい、かといって2012以降へ更新するお金ないのでなぁ…
*3:将来的にSetupComplete.cmdは廃止になる予定らしいので、本当はsysprepをauditモードで起動しunattend.xmlのRunSynchronousCommandで実行する方がええんやろうけど、めんどくさいのでパス。
*4:configure.xmlに記述を追加するとこれらも自動で済ませることも可能だけど、ワイ的に不要だし説明めんどくさいのでパス。