MS Officeのサイレントインストール

Officeの新しいバージョンへの移行を自動化するためのメモ

Officeの移行

MS-Office2010は2020年10月13日に延長サポートが終了する予定です。なのでそろそろofficeを総入れ替えする必要がある方もいると思います。
移行先候補としては以下のいずれか。

  • Office2013〜2019
  • Office365(サブスクリプション)

今から入手する場合は、パッケージ版2019もしくは、Office365になります。
下のAmazonの商品説明に比較表があるのですが、ほぼ「1TBのOne Drive」に魅力を感じるかどうかで決めればいいと思います。費用的には「3年使って買い換えるならほぼ同額」でOne Driveが付いてくる、という感じ。サポート切れまで使い続けるよ、という向きはパッケージ版でいいようにも思います。

 

インストーラー

Office2013以降のパッケージ版および365ではインストーラーがClick to Run(c2r)になります。法人でボリュームライセンスを使っているという場合は従来のWindowsインストーラー(MSI)形式も存在します。

インストーラーの方式によって、自動化の方法が異なります。

c2rインストールの自動化(Office365 or 2019)

Office 365/2019については、c2r形式になるかと思います。その場合、Configuration.xmlのカスタマイズでサイレントインストールが可能です。具体的には、下記をxmlに追記してください。

また、Windows インストーラー (MSI) を使用してインストールした 2010、2013、2016をきれいさっぱりアンイストールする事も可能です。RemoveMSI要素を入れるだけです。

その上で、setup.exeの引数に指定すればOKです。

xmlのカスタマイズ方法については詳細を別記事にまとめてあるのでそちらを参照してください。サンプルxmlも置いてあります。

Windowsインストーラーでの自動化

企業向けのボリュームライセンスを使っていて2013/2016にしておこうという場合、Windowsインストーラー(MSI)になると思います。

MSIでは一度アンイストールをした後、インストールする事になります。

サイレントアンイストール

まずは、現在入っているOfficeのアンイストールから。
手作業でクリックするのは嫌なので自動でアンイストールしてほしいです(サイレントアンイストール)

Microsoftのここ↓に情報があります。2013の記載ですが2007,2010でも同様だと思います。
サイレントアンインストール
https://docs.microsoft.com/ja-jp/previous-versions/office/office-2013-resource-kit/cc178956(v=office.15)?redirectedfrom=MSDN#uninstall-productid

まず、サイレントアンイストール用のxmlを作ります。

これをサーバー(¥¥server¥share)に置き、/configオプションで指定します。この時相対パスは受け付けず絶対パスが必要とのこと。

コントロールパネルのアンイストール情報を使う

install mediaを用意できない場合は、コントロールパネルの「プログラムのアンイストール」情報を使えます。これはWmiObjectに格納されているので、格納されているアンインストーラーをstart-processで実行するとアンインストーラーが起動します。

ただ、これ試してみたんですがサイレントアンイストールのオプションが使えません。GUI Uninstallするしかない場合、画面にクリック命令を送るしかありません。別記事でGUIインストールを自動化する方法と注意点まとめてますので参考にしてください。

気をつけなければいけないのは、アンイストールが終了しましたが表示されるウィンドウが特殊みたいでコントロールできませんでした。{Enter}Keyを送信してWindowを閉じる必要があります。

面倒なのでなんとかしてインストールメディアを入手する事をおすすめします。ボリュームライセンス契約があるのであれば手に入るはずなのですが…。

↓試してみた残骸(汗)参考までに。

MSI形式のサイレントインストール

サイレントインストール用のxmlを用意します。サイレントアンインストールと同じxmlで構いません。

インストーラーをxmlファイルと一緒にサーバーもしくはUSBなどに置き、/configオプションで指定します。

間に一回再起動が入るので、Wmi-Objectを捜索してUninstall済みかどうか判断するか、制御ファイルでも入れてやる必要があるかと思います。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください