Windows TIPS
[Install & Setup]
パッチ適用時にOfficeのインストールCDを要求されないようにする方法
―Office 2003編―
■
Officeにパッチを適用したりコンポーネントを追加したりしている最中に、インストールCDを求められることがある。
■
これはOfficeのセットアップを管理しているWindows InstallerおよびOffice Source Engineの仕様である。
■
これを解決するには、常時アクセスできるフォルダにインストールCDの内容をコピーし、そのフォルダを参照させるように設定を変更する。
Officeに対してパッチの適用やコンポーネントの追加、あるいは[ヘルプ]メニューから実行できるアプリケーションの自動修復などの作業をしている最中に、そのOffice製品のインストールCDをCD/DVDドライブに挿入するよう要求するメッセージが表示されることがある。
OfficeのインストールCDを求めるメッセージ
パッチ適用やコンポーネントの追加などOfficeの構成変更をともなう作業を行うと、このようなメッセージが表示されることがある。指示どおりインストールCDあるいはその内容を保存したフォルダへのパスのいずれかを指定しないとエラーになってしまう。
このとき、指示に従ってインストールCDを用意して参照できるようにしないと作業は進まず、最終的にはエラーになってしまう。かといって、このメッセージが表示されるたびに、いちいちインストールCDを探すのも非常に面倒であることはいうまでもない。
上記のメッセージなしでエラーが発生して処理が中断する場合もある。例えばMicrosoft Updateや自動更新によるパッチ適用は基本的にサイレント・インストールであるため、ユーザーにインストールCDを要求することなくエラーとして終了してしまう。しかも、関連記事にあるように、Microsoft Updateや自動更新では詳細なエラー情報が表示されないため、エラーの原因(インストールCDの参照失敗)が特定できず、厄介なトラブルに発展する危険性もある。
インストールCDが求められる理由
Officeの構成を変更する作業の際にそのインストールCDが求められるのは、Officeのセットアップを管理しているWindows Installerの仕様である。パッチ適用などでOfficeを構成するファイルの1つが追加あるいは更新される際、Windows Installerはファイルの整合性を維持するため、対象のファイルやそれと依存関係のあるファイルなどを「インストール元」から取り寄せて確認しようとする。仕様ゆえ、この確認作業そのものを止めることは難しい。
「インストール元」とは、通常、Officeをインストールしたときにセットアップ・ファイルが存在していたフォルダである。例えばインストールCDをCD/DVDドライブに挿入してインストールした場合、「インストール元」はそのCD/DVDドライブ名のルート・フォルダ、すなわち「D:\」「E:\」などになる。このインストール元へのフルパスはOfficeのインストール時にレジストリへ格納され、あとでインストール元への参照が必要になったときに再利用される(レジストリの格納場所など詳細は後述)。
こうしたしくみのため、「インストール元」のCDを取り外すと、Windows Installerがインストール元を参照できなくなる結果、インストールCDを要求するメッセージが表示されるようになってしまう。
また、インストールCDの内容をコピーした共有フォルダからOfficeをインストールした場合でも、例えばその共有フォルダをホストしていたサーバ・マシンのリプレースによってサーバ名あるいは共有名が変わったりすると、やはり同じ現象が発生してしまう。
ローカル・インストール・ソースも完全ではない
インストールCDが必要になる頻度を減らすために、Office 2003では「ローカル・インストール・ソース」と呼ばれるインストールCDのキャッシュ用フォルダのしくみが導入された。ローカル・インストール・ソースはOffice 2003のセットアップ・プログラムによってインストール先のPCのハードディスク上に作成され、インストールCDの内容がコピーされる。ローカル・インストール・ソースを管理するOffice Source Engineは、インストールCDの内容を必要とする処理が発生すると、まずローカル・インストール・ソースを参照する。ここで必要なファイルが見つかれば、インストールCDへのアクセスは不要となる。つまりユーザーにインストールCDの要求メッセージが表示されずに済む。
しかし残念なことに、デフォルトではローカル・インストール・ソースも完全とはいえない。例えば各パーティションの空き容量が少ないと、インストールCDの内容は一部しかキャッシュ(コピー)されない。またOffice 2003のエディションによっては、デフォルトで一部しかキャッシュしない場合がある。もしローカル・インストール・ソース内で必要なファイルが見つからないと、Office Source Engineはそのファイルを探すため、結局インストールCDを求めてしまうのだ。
デフォルトのままのローカル・インストール・ソースでは、インストールCDが必要になる確率は下がるものの、完全になくなるわけではない、と考えておいてよいだろう。ローカル・インストール・ソースを完全にキャッシュする方法については関連記事を参照していただきたい。
インストールCDの要求メッセージを表示させないようにするには、Windows InstallerおよびOffice Source Engineが常にインストール元を参照できるようにすればよい。そのための手順は大まかに次の3つに分かれる。
常に参照可能なフォルダにインストールCDの内容をコピーする
Windows Installer用のレジストリに新たなインストール元へのフルパスを書き込む
Office Source Engine用のレジストリに新たなインストール元へのフルパスを書き込む
共有フォルダからOfficeをインストールした場合など、常に参照可能なインストール元が準備済みであれば、1.を飛ばして2.から参照していただきたい。また、Office 2000/Office XPの場合の対処方法については、関連記事を参照していただきたい。
常に参照可能なフォルダにインストールCDの内容をコピーする
まず、インストールCDの内容をコピーして新たなインストール元とするフォルダを用意しよう。このフォルダは、OfficeをインストールしたPCからいつでも参照できる必要がある。通常は、同じLANにつながっているファイル・サーバに共有フォルダ*1 を用意して利用することをお勧めする。特に複数のPCが対象の場合、インストールCDの内容を各PCにコピーする手間が省けるからだ。ただし、この共有フォルダを提供するサーバには同時に複数のPCから集中的にアクセスされる可能性があるので、接続先のネットワークの帯域およびハードウェアの性能に余裕のあるマシンが望ましい。
*1 ネットワークへの負荷増大は避けたい、といった理由から共有フォルダを利用できない場合は、各PCに対して前述のローカル・インストール・ソースを完全にキャッシュするとよいだろう。この方法については別稿で説明する予定だ。
インストール元のフォルダを決めたら、Windowsエクスプローラなどを用いて、そこにインストールCDの内容をそのままそっくりコピーする。このとき、不可視属性のファイルもコピーし忘れないように注意しよう。コピーを終えたら、誤って書き換えられたり削除されたりしないように、アクセス権を変更して一般ユーザーによる書き込み/削除を禁止しておく。
Windows Installer用のレジストリに新たなインストール元へのフルパスを書き込む
Officeのインストール元へのフルパスはいずれもレジストリに格納されているので、レジストリを編集すればインストール元は変更・追加できる。Windows Installerの場合、Office 2003ファミリのインストール元の情報は下記のレジストリ・キー以下のツリーに格納されている。
HKEY_LOCAL_MACHINE の
\SOFTWARE\Classes\Installer\Products\
1140<n1><n2><n3> 900063D11C8EF10054038389C
最後のキー名は、その対象のOffice製品のGUID を圧縮したものだ。<n1><n2><n3> には、Office 2003のエディションや販売形態(市販品/ボリューム・ライセンス/OEM)といった違いによって、ユニークな3桁の16進数が入る。また先頭の「1140」は日本語版に割り当てられたユニークなIDで、ほかの言語では別の値が入る。
このキーを特定するには、レジストリ・エディタで上表に該当するキーを見つけ、そこにある「ProductName」に格納されている製品名を確認すればよい。例えばOffice Professional 2003では、「Microsoft Office Professional Edition 2003」という製品名がProductNameに格納されている。
Officeのセットアップ情報が格納されたレジストリ・キーの例
これはOffice Professional 2003をインストールしたPCで、前述のレジストリ・キー以下をレジストリ・エディタで参照しているところ。
前述のOffice 2003ファミリのキー名「1140<n1><n2><n3> 900063D11C8EF10054038389C」に該当するキーを探して選択する。この例では<n1><n2><n3> が「110」であることが分かる。
ProductNameに「Microsoft Office Professional Edition 2003」と記されていることから、このキーにOffice Professional 2003のセットアップ情報が格納されていることが分かる。
キーを特定したら、<n1><n2><n3> の値をメモしておこう。この後のOffice Source Engine用レジストリの設定で再利用するためだ。
[注意]
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。
レジストリ・キーを特定したら、下表のようにそのサブ・キー(SourceList\Net)へインストール元へのフルパスを書き込めばよい。サブ・キーがなければ新たに作成する。また、値「1」にローカル・インストール・ソースへのフルパス(?:\MSOCache\All Users\90000411-6000-11D3-8CFE-0150048383C9\)が設定済みの場合は、値「2」を作成して、そこに新たなインストール元へのフルパスを設定する。このように新たなパスを「追加」すれば、ローカル・インストール・ソースでファイルが見つからないときだけ、新たなインストール元が参照されるようになり、共有フォルダへのアクセスによるネットワーク負荷の増大を抑えられる。
項目
内容
キー
HKEY_LOCAL_MACHINE の
\SOFTWARE\Classes\Installer\Products\
1140<n1><n2><n3> 900063D11C8EF10054038389C\
SourceList\Net
値の名前
新規:1、ローカル・インストール・ソースあり:2
型
文字列(SZ)または展開可能な文字列(EXPAND_SZ)のいずれか
値の内容
新たなインストール元へのフルパス
インストール元へのフルパスが格納されているレジストリ・キー(Windows Installer用)
すでに「1」が存在していて、それがローカル・インストール・ソースへのフルパス(?:\MSOCache\All Users\90000411-6000-11D3-8CFE-0150048383C9)の場合は、新たなインストール元へのフルパスを「2」に設定する。また共有フォルダをインストール元とする場合はUNC形式で設定すること。
Office Source Engine用のレジストリに新たなインストール元へのフルパスを書き込む
引き続きOffice Source Engineが参照するインストール元へのフルパスも変更しよう。Office Source Engineの場合、インストール元の情報は下記のレジストリ・キーに格納されている(日本語版の場合)。
HKEY_LOCAL_MACHINE の
\SOFTWARE\Microsoft\Office\Delivery\SourceEngine\
Downloads\90000411-6000-11D3-8CFE- 0150048383C9\
Sources\
9<n3><n2><n1> 0411-6000-11D3-8CFE- 0150048383C9
最後のキーを特定にするには、前述のWindows Installer用のレジストリを設定した際に判明した<n1><n2><n3> の値を、上記のように逆順に代入すればよい。あとは値「Path」に、Windows Installerの場合と同じインストール元へのフルパスを書き込む。
項目
内容
キー
HKEY_LOCAL_MACHINE の
\SOFTWARE\Microsoft\Office\Delivery\SourceEngine\
Downloads\90000411-6000-11D3-8CFE- 0150048383C9\
Sources\9<n3><n2><n1> 0411-6000-11D3-8CFE- 0150048383C9
値の名前
Path
型
文字列(SZ)
値の内容
新たなインストール元へのフルパス
インストール元へのフルパスが格納されているレジストリ・キー(Office Source Engine用)
すでに「Path」に存在する場合は、万一のためにバックアップしてから、新たなインストール元へのフルパスを上書きすればよい。
複数のOffice 2003ファミリの製品を利用している場合は、それぞれのレジストリ・キーを見つけてインストール元へのフルパスを設定する必要があるので注意していただきたい。
また複数のPCに対してインストール元へのフルパスを設定する場合、いちいち各PCでレジストリ・エディタを起動してレジストリを書き換えるのは面倒なので、リモートからコマンドラインとバッチを活用して各PCのレジストリを書き換えるとよいだろう。詳細な手順は関連記事を参照していただきたい。
この記事と関連性の高い別のWindows TIPS
generated by
更新履歴
【2007/11/30】 「完全」といえないのはデフォルトのままのローカル・インストール・ソースである、ということを明記しました。
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ