Windows と Windows コンポーネント用パッケージ インストーラ Update.exe の内部メカニズム

公開日: 2004年8月9日

Windows Windows コンポーネント用パッケージインストーラ

トピック

はじめに はじめに

主な更新パッケージの種類 主な更新パッケージの種類

インストーラの実行とリターン コード インストーラの実行とリターン コード

導入 導入

更新パッケージの内容 更新パッケージの内容

まとめ まとめ

付録 A インストーラのバージョン管理と機能 付録 A インストーラのバージョン管理と機能

付録 B Update.inf ファイル 付録 B Update.inf ファイル

付録 C インストーラのプロセス フロー 付録 C インストーラのプロセス フロー

付録 D サンプル インストーラ ログ 付録 D サンプル インストーラ ログ

付録 E A/RP エントリの標準規則 付録 E A/RP エントリの標準規則

付録 F 拡張リターン コード 付録 F 拡張リターン コード

はじめに

このホワイト ペーパーでは、Update.exe として知られる Windows 用パッケージ インストーラについて説明します。Update.exe は、Windows オペレーティング システムやその他の Microsoft 製品のサービス パックおよび更新プログラム (修正プログラム) のインストールに広く使用されています。このパッケージ インストーラは数年にわたり Windows オペレーティング システムのインストーラとして使用されてきましたが、最近は Microsoft の他のチームも製品のインストーラとして採用しています。このホワイト ペーパーでは、パッケージの種類、導入方法、更新パッケージの内部動作について詳しく説明すると共に、インストールの概要にも触れます。このドキュメントの内容は 2003 年 12 月現在のものです。

Windows Sustained Engineering (WinSE) チームがリリースする更新プログラムには必ずこの Windows 用パッケージ インストーラが付属しています。ただし、NT4 の更新プログラムには Update.exe の前のインストーラである Hotfix.exe が付属しています。

Microsoft では、インストーラの統一を目的としてインストーラを統合する計画 (英語) を開始しました。この計画は、インストーラにさまざまな機能向上を加えると共に、数あるインストーラを Update.exe と MSI インストーラの 2 種類に統合しようというものです。このドキュメントでは、Update.exe インストーラについて説明します。MSI インストーラの詳細については、「About Windows Installer」(英語) を参照してください。

Update.exe はサービス パックと修正プログラムの両方に使用されるため、どちらの更新プログラムを適用する場合でも競合が発生しないように設計されています。このインストーラは、更新プログラムとサービス パックのいずれについても、ファイルの追加、既存のファイルの削除または置き換え、レジストリ キーの追加、削除、更新、更新するファイルのバックアップを行います。

このインストーラのプロセス フローを概略的に示すと次の図 1 のようになります。

図 1: インストーラの動作概要

1: インストーラの動作概要

このドキュメントの終わりにある「付録 C インストーラのプロセス フロー」には、Update.exe によるサービス パックや修正プログラムのインストール作業の流れを詳細に示すフローチャートがあります。

ページのトップへ ページのトップへ

主な更新パッケージの種類

"更新パッケージ" (単に "パッケージ" ということもあります) とは、インストーラ、関連ファイル、およびペイロード (インストールされる DLL、実行可能ファイル、またはスクリプト) が収められた製品または実行可能ファイルをいいます。これら 3 つのコンポーネントを総称して "パッケージ コンテンツ" といいます (「主な更新パッケージの種類」を参照してください)。ここでは、更新プログラムとサービス パックという 2 つの代表的なパッケージに絞って説明します。

更新プログラム (修正プログラム)

更新プログラム ("修正プログラム" ともいいます) は最も単純な形式の更新パッケージです。インストーラ、インストーラの関連ファイル、およびペイロードが含まれています。

サービス パック

更新パッケージの中で最もサイズの大きなものがサービス パックです。一般に、サービス パックには、製品の前回のサービス パックまたは RTM (Release to Market) バージョンがリリースされた後に発表された更新プログラムがすべて含まれています。サービス パックにも、他の更新パッケージと同じように、インストーラ、インストーラの関連ファイル、およびペイロードが収められています。

ページのトップへ ページのトップへ

インストーラの実行とリターン コード

サービス パックや更新プログラムは 1 つの実行可能ファイルとして出荷されます。このファイルには、インストール ロジックやレジストリの変更を含め、上記のファイルがすべて含まれています。コマンド ラインにスイッチをまったく指定せずにパッケージを実行すると、パッケージの内容が一時フォルダに展開され、インストーラ (Update.exe) が起動し、更新プログラムのインストールが開始されます。インストーラには主として次の 3 つの目的があります。

  1. サービス パックのインストール

    たとえば、Windows 2000 SP4 をインストールする場合は、W2ksp4.exe を実行します。これによって、サービス パックのインストール ファイルが展開され、Update.exe が自動的に起動して、サービス パックをインストールします。

  2. 更新プログラムのインストール

    たとえば、Microsoft サポート技術情報の Knowledge Base の文書 810556 に関連する更新プログラムをインストールするには、Q810556_WXP_SP1_x86_ENU.exe を実行します。これによって、更新プログラムのインストール ファイルが展開され、Update.exe が自動的に起動して、更新プログラムをインストールします。

  3. パッケージ コンテンツの展開

    たとえば、展開済みのファイルをインストールするには、それらのファイルがあるフォルダから Update.exe を実行します。

このドキュメントでは、これら 3 つのシナリオにおける Update.exe の動作について説明します。わかりやすいように、まずは 3 つ目のシナリオである「更新パッケージ コンテンツの展開」から説明を始めます。更新プログラムおよびサービス パックのインストール オプションについては、「コマンド ライン スイッチ」を参照してください。

メモ Microsoft では、パッケージのインストール方法として、このドキュメントまたは導入ガイドに記載されている Windows パッケージ インストーラのみを推奨およびサポートしています。

更新パッケージ コンテンツの展開

上の 3 つ目のシナリオのように、インストールを実行する前にパッケージ内のファイルを展開した方がよい場合があります。更新プログラムのインストールによって適用される変更の内容をあらかじめ確認するために、このような方法が一般的となっています。パッケージを解凍すると、インストーラの実行可能ファイル、関連ファイル、およびペイロードが展開されます。ここでは、パッケージ コンテンツを展開する方法と、更新プログラムのインストール方法を指定するコマンド ライン スイッチについて説明します。

パッケージ コンテンツの展開方法やファイルの保存場所を指定できるオプションがあります。コマンド ライン スイッチを使用すると、ユーザー プロンプトの表示とファイルの展開先とするフォルダを指定できます。次の表では、展開方法を指定するスイッチを示し、それぞれの働きについて説明します。

1: 展開スイッチ

コマンド ライン スイッチ 説明

/Q

展開中に状態ダイアログを表示しません。

/U

ファイルを展開するフォルダの指定を求めるダイアログを表示しません。/X または /X:path と共に使用することが必要です。/X スイッチと共に使用した場合、/U は Update.exe ではなく展開機能に対するディレクティブとなります。

/X

サービス パックのファイルを展開するだけで、Update.exe を起動しません。ファイルを展開するフォルダのパスの入力を求めるダイアログが表示されます。

/X:"foldername" (path_name)

サービス パックのファイルを指定されたフォルダに展開するだけで、Update.exe を起動せず、起動するかどうかを確認するダイアログも表示しません。

ディレクトリの指定

ファイルは、展開されると、指定したフォルダに保存されます。フォルダを指定しなかった場合は、ランダムに作成された名前のフォルダに保存されます。たとえば、/X /U と指定し、フォルダの指定を求めるダイアログを表示しなかった場合は、1ed6b742f546f などのフォルダ名が作成されます。表 2 に、パッケージ コンテンツの主な展開方法を示します。

2: コマンドラインスイッチの使用例

コマンド ライン スイッチ 目的

Update_name.exe /X

フォルダのパスの入力を求めるダイアログを表示し、そのフォルダにパッケージ コンテンツを展開します。

Update_name.exe /X:C:\Update

C ドライブに Update というフォルダを作成し、そこにパッケージ コンテンツを展開します。

Update_name.exe /X /U

ランダムに作成したフォルダにパッケージ コンテンツを展開します。

このフォルダは現在のドライブの root フォルダに作成され、ランダムなフォルダ名が生成されます。

使用するインストーラのバージョンによっては、/U スイッチを使用しなくてもフォルダの指定を求めるダイアログ ボックスを省略できる場合があります。このインストーラの Q2 バージョン以降では、/X スイッチと有効なパス (/X:C:\path_name) を指定すると、ダイアログ ボックスは既定で表示されません。Q2 より前のバージョンの場合、/X スイッチを指定すると、ファイルを展開するフォルダを確認するダイアログ ボックスが表示されます (インストーラの機能およびバージョンによる違いについては、「付録 A インストーラのバージョン管理と機能」を参照してください)。

コマンド ライン スイッチ

ここでは、Update.exe に指定できるコマンド ライン スイッチ オプションについて説明します。これらのスイッチによって、Update.exe による更新プログラムおよびサービス パックの既定のインストール方法を変更することができます。指定したスイッチはパッケージの実行可能ファイルから Update.exe に渡されます。ただし、スイッチ オプションではファイルの展開方法を指定することはできません。次に、各スイッチ オプションの機能について説明します。

コマンドラインスイッチオプション

ここに挙げたスイッチ オプションにはスラッシュ (/) が付いていますが、スラッシュの代わりにハイフン (-) を使用することもできます。どちらを使用してもスイッチの機能は変わりません。

  • /U 無人モード

    サービス パックのインストールにおいて既定のスイッチ オプションがすべて適用されます。ユーザーに入力を求めるダイアログ ボックスは表示されず、インストール プロセスの進行状況を示すバーが表示されます。

  • /Q サイレント モード

    SP4 が無人モードと同じ方法でインストールされます。ただし、進行状況を示すバーは表示されず、インストール中にエラーが発生しても表示されません。

  • /F 強制再起動

    このスイッチ オプションを指定した場合には、インストールの完了後、すべてのアプリケーションを閉じ、コンピュータを再起動する必要があります。ファイルを保存せずにアプリケーションを閉じる場合は、/F スイッチ オプションを使用します。このスイッチ オプションは他のコマンド ライン スイッチ オプションと組み合わせて使用します。ただし、このスイッチ オプションと一緒に /S (統合インストール モード)、/L (インストールされた修正プログラムの一覧)、/Z (インストール後にコンピュータを自動的に再起動しない) を指定することはできません。

  • /N バックアップおよびアンインストールなし

    インストール中にサービス パックの削除に必要なファイルをバックアップしません。このスイッチ オプションを指定するとディスク領域を節約できますが、サービス パックはコマンド ラインでも削除できなくなります。

    このスイッチ オプションは他のコマンド ライン スイッチ オプションと組み合わせて使用します。ただし、このスイッチ オプションと一緒に /S (統合インストール モード) および /L (インストールされた修正プログラムの一覧) を指定することはできません。

    この機能はインストーラのバージョンによって異なります。Q2 より前のバージョンでは、インストールした更新が [プログラムの追加と削除] の一覧に表示されません。Q2 以降のバージョンでは、インストールした更新は [プログラムの追加と削除] の一覧に表示されますが、その更新を選択して削除することはできません。

  • /O OEM ファイルの上書き

    有人モードの標準インストールにおいて、コンピュータの製造元がインストールしたファイルが更新またはサービス パックのインストールによって上書きされる場合は、確認のメッセージが表示されます。このスイッチを指定すると、上書きの確認メッセージが表示されることなくファイルが上書きされます。無人モードでは、/O を指定しない限り、OEM ファイルは上書きされません。

  • /Z 再起動なし

    このスイッチ オプションを指定して修正プログラムをインストールすると、インストールの完了後にコンピュータが自動的に再起動されません。このスイッチ オプションは他のコマンド ライン スイッチ オプションと組み合わせて使用します。ただし、このスイッチ オプションと一緒に /S (統合インストール モード) および /L (インストールされた修正プログラムの一覧) を指定することはできません。修正プログラムをインストールした後、すぐにコンピュータを再起動して、サービス パックのインストールを完了してください。

  • /L 修正プログラムの一覧

    このスイッチ オプションを指定すると、インストールした Windows 修正プログラムの一覧が表示されます。このスイッチ オプションは、他のスイッチと組み合わせて使用することはできません。このスイッチを指定すると、「更新プログラムのレジストリ エントリ」に示したレジストリの修正プログラム セクションから取得されたインストール済みの修正プログラムの一覧が表示されます。インストールされた更新プログラムの表示の詳細については、文書番号 282784「Qfecheck.exe で Windows 2000 および Windows XP にインストールされた修正プログラムを検証する」および文書番号 304864「Qfecheck Hotfix Tool は、インストール直後の Hotfix を再インストールが必要と間違った報告をする場合がある」を参照してください。

  • /S:foldername ファイルを統合インストール用の共有ネットワーク フォルダに展開

    Windows 2000 と SP4 を統合インストールとして導入する場合は、このスイッチ オプションを使用して、統合共有ネットワーク フォルダに Windows 2000 および SP4 のファイルを保存します。この共有フォルダを使用すると、Windows 2000 とサービス パックを同時にインストールできるため、時間の節約になります。Windows 2000 SP4 を統合インストール ("スリップストリーム" ともいう) として展開する方法については、「シナリオ 1: Service Pack 適用済み Windows 2000 をインストールする」を参照してください。

  • /D:foldername ファイルを指定したフォルダにバックアップ

    サービス パックのバックアップ フォルダ ディレクトリを指定します。この機能はサービス パック以外の更新プログラムには使用できません。この機能を使用できるのは、Q1 およびそれ以降のインストーラだけです (「付録 A インストーラのバージョン管理と機能」を参照してください)。

    /D を使用し、フォルダを指定しなかった場合は、既定のフォルダ $ntservicepackuninstall$ にファイルがバックアップされます。

  • /ER 拡張リターン コードの有効化

    標準のリターン コード (成功、成功 - 再起動が必要、失敗) 以外のコードを呼び出し側のアプリケーションに返すことができます。拡張リターン コードには、標準 Win32 エラーとインストーラ関連のエラーの 2 種類があります (詳細については、「付録 F 拡張リターン コード」を参照してください)。

    最近、Microsoft ではインストーラ スイッチの標準を定義し、Q4 インストーラからその標準に移行しました (インストーラのバージョン管理の詳細については、「付録 A インストーラのバージョン管理と機能」を参照してください)。/D および /S については、同じ働きをする新しいスイッチは定義されていませんが、これまでのスイッチをそのまま使用できます。次の表 3 に、新しいスイッチと従来のスイッチの一覧を示します。

3: 標準化されたスイッチ

従来のスイッチ 新しいスイッチ 説明

なし

/Uninstall

更新プログラムまたはサービス パックをアンインストールします。

/?

/Help

ヘルプを表示します。

/D:foldername

なし

ファイルを指定されたフォルダにバックアップします (サービス パックをインストールする場合のみ)。

なし

/ER

拡張リターン コードを有効にします。
(詳細については、「付録 F 拡張リターン コード」を参照してください。)

/F

/F

インストールの完了後、コンピュータを再起動するときに他のアプリケーションを強制的に終了します。

/F

/Forcerestart

インストールの完了後、コンピュータを再起動します。

/L

/L

インストールした修正プログラムの一覧を表示します (Windows Updateの場合のみ)。

/N

/N

サービス パックまたは修正プログラムが削除された場合に復元するファイルをバックアップしません。[プログラムの追加と削除] で修正プログラムを選択しても [削除] は表示されないため、アンインストールすることはできません。Update.exe の Q2 以降のバージョンを使用する必要があります (詳細については、「各インストーラ バージョンの機能」を参照してください)。

/O

/O

確認メッセージを表示せずに OEM ファイルを上書きします。

/Q

/Quiet

サイレント モードでインストールを行います。ユーザー インターフェイスが表示されない点を除き、無人モードと同じです。インストール プロセス中にメッセージはまったく表示されません。

/S:foldername

なし

オペレーティング システム イメージと SP4 を共有配布フォルダに配置し、統合インストールを可能にします (サービス パックのみ)。

/U

/Passive

無人セットアップ モードでインストールを行います。セットアップ中は、重大なエラーと進行状況を示すバーだけが表示されます。

/Z

/Norestart

インストールの完了後にコンピュータを再起動しません。

リターン コード

インストーラをバッチ ファイルから呼び出すと、インストールが成功したかどうかを示す情報を取得することができます (バッチ ファイルの詳細については、「インストール バッチ ファイル」を参照してください)。インストールが成功したかどうかを示す値は、リターン コードとして呼び出し側のプロセスに返されます。リターン コードを基に、次にどのような作業を行う必要があるかを検討できます。インストーラが返すリターン コードには、"失敗"、"成功"、"成功 - 再起動が必要" の 3 種類があります。

インストーラは、処理が完了すると、値を呼び出し側のプログラムに返します。次の表 4 は、インストーラが返す値とそれに対応するエラー コードを示したものです。

4: リターンコード

エラー コード 説明

1603

ERROR_INSTALL_FAILURE

失敗

0

ERROR_SUCCESS_REBOOT_REQUIRED

成功

3010

ERROR_SUCCESS_REBOOT_REQUIRED

成功 - 再起動が必要

インストーラをバッチ ファイルから実行する方法の詳細については、「インストール バッチ ファイル」の例を参照してください。インストーラが実行する変更の詳細については、「付録 D サンプル インストーラ ログ」を参照してください。

ページのトップへ ページのトップへ

導入

導入とは、サービス パックや更新プログラムを個々のコンピュータにインストールすることをいいます。導入について詳しく説明する前に、このインストーラで使用できる導入の基本的な要素を確認しておきます。最後に、あるサービス パックがリリースされてから次のサービス パックまでの間にリリースされる更新の導入について簡単に説明します。

導入の要素

Pending File Rename

実行中のシステムに更新プログラムをインストールする場合、更新の対象となるファイルが使用中となっていることもあります。そのような場合には、そのファイルの更新版が Pending File Rename (PFR) キューに追加されます。このキューは、システムの再起動時に置き換える必要のあるファイルが記録されるレジストリ キーです。PFR 操作が必要な場合には、システムを再起動して初めて更新プログラムのインストールが完了します。システムの再起動が必要かどうかは、インストーラ ログまたはリターン コードを調べることによって確認できます。

連続したインストール (QChain)

QChain は、複数の修正プログラム パッケージまたは 1 つのサービス パックと修正プログラム パッケージのインストールを効率化するテクノロジです。連続したインストールによって、1 回の再起動で Pending File Rename (PFR) をコミットすることができます。

Window インストーラの以前のバージョンでは、1 回の再起動で複数の更新プログラムをインストールするためには QChain を手動で実行することが必要でした。Update.exe の最近のバージョンには QChain 機能が組み込まれています。QChain の詳細については、「複数の Windows Update または修正プログラムを同時にインストールし、再起動を 1 回で済ませる方法」を参照してください。

2002 年 12 月以前にリリースされた更新プログラムをインストールする場合には、インストールの完了後にシステムを再起動することをお勧めします。インストーラがシステムの状態に加えた変更はインストールが完了しても既定の状態に戻らないからです (再起動が必要なケースの詳細については、Microsoft サポート技術情報の Knowledge Base の文書 815062 を参照してください)。

更新プログラムとオプションのコンポーネント

コンピュータに更新プログラムを適用するときに、更新プログラムの対象となるコンポーネントがインストールされていないこともありえます。このようなことが起きるのは、コンピュータをセットアップするときにオプションのコンポーネントをインストールしなかった場合です。オプションのコンポーネントに更新プログラムを適用するには、"sticky updates" という機能を適用します。sticky updates を完全な状態で適用すると、オプションのコンポーネントをインストール時に更新することができます。

オプションのコンポーネントに影響を与える更新プログラムがインストールされる場合、2 つの状況が考えられます。1 つはコンポーネントがインストールされていて、更新されるケースで、もう 1 つはコンポーネントがインストールされていないケースです。オプションのインストール コンポーネントがインストールされていない場合は、そのコンポーネントの更新に必要なファイルが将来の使用に備えてディスクにキャッシュされます。その時点では sticky updates が完全に適用されていなくても、sticky updates に関連する機能の一部を、更新プログラムのインストール後に確認することができます。キャッシュされたファイルの保存先となるディレクトリはレジストリで確認できます。このディレクトリは、レジストリ キー HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup のレジストリ値 ServicePackCachePath に設定されます。このレジストリ キーにディレクトリが記録されるかどうかは、どのようなオプションのコンポーネントをインストールしたかと、それらのコンポーネントの更新プログラムもインストールしたかどうかによって決まります。

sticky updates が完全に実装された段階で、その機能と動作方法の詳細な説明がこのドキュメントに記載される予定です。

言語に関する考慮事項

システムの言語と一致する言語版の更新プログラムが必要となる場合もあります。また、システムの言語とは関係なく適用できる更新プログラムもあります。Windows Updateが正しく動作するためには、インストールした更新プログラムの言語がコンピュータの既定の言語と一致している必要があります。他の Sustained Engineering チームからリリースされた更新プログラムの場合は、言語の一致が必要ではないこともあります。Microsoft サポート技術情報の Knowledge Base の文書で更新プログラムが言語に一致する必要があるかどうかがわからない場合は、.inf ファイルの LanguageType に設定されている値で確認できます。言語コードが 0x0 であれば、その更新プログラムはシステムがどのようなロケールであっても適用可能です (.inf ファイルの詳細については、「付録 B Update.inf ファイル」を参照してください)。

Multilingual User Interface Pack (MUI) を使用している場合、MUI 固有のインストールはないため、システムを更新プログラムするには、英語版の更新プログラムまたはサービス パックをインストールするだけです。MUI 対応のシステムを更新プログラムする方法の詳細については、「Service Pack Release Notes for Windows Multilingual User Interface (MUI) Version」(英語) を参照してください。

更新パッケージのバージョン管理

更新プログラムに含まれる DLL ファイルだけでなく、更新パッケージそのものもバージョン管理されています。これによって、一度リリースした更新プログラムを再びリリースする場合でも、両者をバージョン番号によって簡単に区別することができます。更新プログラムをインストールすると、そのバージョン番号がレジストリに記録されます (詳細については、「更新プログラムのレジストリ エントリ」を参照してください)。

更新プログラムをインストールする前にバージョンを確認するには、パッケージ内容を展開し、.inf ファイルの内容を表示します。更新のバージョンは .inf ファイルの [Version] セクションではなく BUILDTIMESTAMP キーの [Strings] セクションにあります。パッケージの内容を展開する方法については、「更新パッケージ コンテンツの展開」を参照してください。

更新のバージョン番号は、パッケージが作成された日付と時刻で構成されています。たとえば、バージョン 20030102.120145 の意味は、次の表 5 のようになります。このバージョン管理方法により、どの更新バージョンの方が新しいか (最新のバージョンはどれであるか) を判別することが可能になります (次の表 5 を参照してください)。

5: 更新のバージョン管理

数字 (左から右) 例として挙げたバージョンの数字

1 - 4

更新が作成された年

2003

5, 6

更新が作成された月

01

7, 8

更新が作成された日

02

9, 10

更新が作成された時刻の時

12

11, 12

更新が作成された時刻の分

01

13, 14

更新が作成された時刻の秒

45

更新プログラムのレジストリエントリ

更新プログラムをインストールすると、複数のエントリがレジストリに追加されます。これらのエントリによって、更新プログラムをインストールしたことが記録され、インストールの内容やアンインストールに必要となるファイルの場所などの詳細が明らかになります。これらの情報が設定されるレジストリ キーは、Microsoft Baseline Security Analyzer (MBSA)QFE Check、[プログラムの追加と削除] (A/RP)、および外部ツールにおいて、現在インストールされている修正コードを特定し、表示する目的で使用されます。

更新プログラムをインストールすると、3 つのレジストリ キーが書き込まれます。それらは通常、修正プログラム レジストリ エントリ、更新レジストリ エントリ、[プログラムの追加と削除] (A/RP) レジストリ エントリと呼ばれます。修正プログラム レジストリ エントリには、インストールされた Windows 修正コードの詳細だけが記録されます。更新エントリには、Windows チームおよびその他のチームからリリースされた修正コードの詳細が記録され、A/RP エントリには、[プログラムの追加と削除] の一覧に表示される修正プログラムの情報が記録されます。

メモ パッケージをインストールするときに /N スイッチを指定すると、A/RP エントリが書き込まれないことがあります。Q2 以前のインストーラ (「付録 A インストーラのバージョン管理と機能」を参照) を使用し、アンインストールなしオプションを選択してインストールした古いパッケージは、[プログラムの追加と削除] の一覧には表示されません。

これらのエントリでは、KB または Q とそれに続く Microsoft サポート技術情報の Knowledge Base の文書番号で更新が表されます。古い更新は Q で始まり、2002 年以降にリリースされた更新は KB で始まります。KB と KB 文書番号で更新を表すことは、現在 Microsoft において標準として規定されています。Q は 2003 年中に使用が中止される予定です。

サービス パックをインストールすると、更新プログラムのインストールによって追加されたレジストリ キーがクリーンアップされます。サービス パックの目的の 1 つは、前回のサービス パックのリリース以後にリリースされた修正プログラムを 1 つにまとめることです。サービス パックをインストールすることによって、それまでにインストールされた更新プログラムのうち新しいサービス パックに含まれている更新プログラムのレジストリ エントリがレジストリから削除されます。代わりにサービス パックのエントリが追加され、[プログラムの追加と削除] の一覧にもサービス パックが表示されます。サービス パックをアンインストールすると、元の修正プログラムとそのレジストリ エントリが復元されます。

更新プログラムのレジストリエントリ

下記の更新レジストリ エントリ キーは WinSE (Windows Sustained Engineering) チームおよび Microsoft の他の Sustained Engineering チームが使用しており、この後に示す修正プログラム キーに代わるものです。このキーの形式はインストールするパッケージの種類 (サービス パックか修正プログラムか) によって異なります。サービス パックの場合は要約情報だけで構成され、更新の場合は以下のように要約情報とファイル一覧のエントリが定義されます。

  1. 要約情報

    HKEY_LOCAL_MACHINE \Software\Microsoft\Updates\[Target Product]\[Target SP]\KB######

    [Target Product] : Windows、Office などの製品名を表します。

    [Target SP] : SP1 や SP2 などのサービス パック名を表します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB823980

    サブキーの使用方法は各グループのニーズによって異なります。多くのグループは、上の例のようにターゲット サービス パックのリリースを詳細に記録しています。個々の修正を表すキーでは、表 7 に示すサブキーを使用していることがあります。

    6: 更新プログラムのレジストリキー値

    キー 説明

    Default

    使用されません。

    Description

    更新の説明 (更新のタイトルなど。例 : "Windows XP Hotfix - KB######")。

    Installed By

    更新プログラムをインストールしたユーザー。

    InstalledDate

    更新プログラムをインストールした日。

    Type

    インストールの種類 (現在は、サービス パックと修正プログラムのいずれかのみ)。パッケージの種類の詳細については、http://support.microsoft.com/default.aspx?scid=kb;ja;824684&sd=tech を参照してください。

    インストールの種類がサービス パックの場合は、ファイルの一覧は作成されません。サービス パックに含まれるすべてのファイルを一覧することは、レジストリの目的とは合致しません。

    UninstallCommand

    修正プログラムのアンインストール コマンドがある場所。修正コードをインストールするときに /N スイッチを指定した場合、このキーに値は追加されません。復元するファイルが保存されたディレクトリが存在しない場合は、修正プログラムをアンインストールすることはできません。

  2. ファイル一覧キー

    ファイル一覧キーには、インストールされたファイル、インストール先のディレクトリ、ファイルのバージョンなどの詳細な一覧が記録されます。

    HKEY_LOCAL_MACHINE \Software\Microsoft\Updates\[Target Product]\[Target SP]\KB######\Filelist

    [Target Product] : Windows、Office などの製品名を表します。

    [Target SP] : SP1 や SP2 などのサービス パック名を表します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB823980\Filelist

    この後に 0 ~ n までの番号が付いたサブキーがあります。各サブキーが更新としてインストールされた 1 つのファイルに対応します。ファイル一覧エントリで使用される一般的なキーを表 7 に示します。

    7: ファイル一覧エントリのレジストリキー値

    キー 説明

    Default

    使用されません。

    BuildDate

    ファイルの作成日。

    FileName

    ファイル名。

    Location

    ファイルのインストール先。

    Version

    インストールされたファイルのバージョン。

プログラムの追加と削除キー

サービス パックおよび更新プログラムは RTM イメージへの追加と見なされ、[プログラムの追加と削除] (A/RP) の一覧に追加されます。A/RP は、レジストリ キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall の情報を基に、インストールされたソフトウェアとそのアンインストール方法を認識します。このキーでは、修正プログラムの情報に加え、他のプログラムに関する情報も取得できます。更新プログラムは、KB 番号または Q 番号によって管理されています (次の表 8 を参照してください)。

インストールされている更新プログラムは、コントロール パネルの [プログラムの追加と削除] で確認できます。インストールされているプログラムの後に、インストールされている更新プログラムが表示されます。

A/RP レジストリ エントリには標準規則が定義されています。詳細については、「付録 E A/RP エントリの標準規則」を参照してください。

メモ パッケージをインストールするときに /n スイッチを指定すると、A/RP レジストリ エントリが書き込まれないことがあります。Q2 以前のインストーラ (「付録 A インストーラのバージョン管理と機能」を参照) を使用し、アンインストールなしオプションを選択してインストールした古いパッケージは、[プログラムの追加と削除] の一覧には表示されません。

8: [プログラムの追加と削除] のレジストリキー値

キー 説明

Default

使用されません。

Display Name

[プログラムの追加と削除] の一覧に表示されるテキスト。

Display Version

インストールされた更新プログラムのバージョン (詳細については「更新パッケージのバージョン管理」を参照)。

HelpLink

サポート テキストおよび Microsoft サポート技術情報の Knowledge Base の文書へのリンク。

NoModify

[プログラムの追加と削除] に [変更] を表示するかどうかを指定します。

NoRepair

[サポート情報] ダイアログに [修復] を表示しません。

Publisher

修正コードを発行した会社。

Uninstall String

修正プログラムをアンインストールするコマンドの文字列。

URLInfoAbout

[サポート情報] ダイアログに表示される発行元の URL リンク。

修正プログラムレジストリエントリ

下記の修正プログラム レジストリ エントリは WinSE だけが使用している古いエントリです。キーの中には現在は使用されていないものもあります。このエントリに記録される情報について、次の表 9 で説明します。

HKEY_LOCAL_MACHINE \Software\Microsoft\WindowsNT\CurrentVersion\Hotfix\KB######

9: 修正プログラムのレジストリキー値

キー 説明

(Default)

使用されません。

Backup Dir

バックアップ ファイルが保存されるディレクトリ。

Comments

更新プログラムの種類と KB 番号。

Fix Description

更新プログラムの種類と KB 番号。

Installed

更新プログラムがインストールされているかどうかを示します。この情報が必要となるのは、更新プログラムが累加的なものであるためです。たとえば、1 月にリリースされた更新プログラム 1 と 2 月にリリースされた更新プログラム 2 があり、どちらにも Foo.dll が含まれているとします。6 月に更新プログラム 2 をインストールし、7 月に更新プログラム 1 をインストールしようとした場合、更新プログラム 1 のレジストリ エントリはゼロ (0) となります。これにより、更新プログラム 1 はインストールされなかったものの、更新プログラム 1 の機能は既にコンピュータに組み込まれていることが示されます。更新プログラム 2 の方が先にインストールされているため、更新プログラム 1 によって foo.dll に加えられる変更は抑止されるためです。

Installed By

現在は使用されていません。次の更新キーを参照してください。

Installed On

現在は使用されていません。次の更新キーを参照してください。

Service Pack

インストールした修正コードが組み込まれる予定のサービス パックを示します。この修正コードの対象となるオペレーティング システムのサービス パックをリリースする予定であり、その修正をサービス パックに含めない理由が存在しないことを前提としています。

Valid

現在は使用されていません。値は常に 1 となります。

パッケージインストールの種類

サービス パックまたは更新プログラムのインストール形式には、更新プログラムのペイロードがインストール パッケージにすべて揃っている自己完結型とペイロードが動的に決定される高速インストールがあります。現在、高速インストールのパッケージは Windows Update サイトでのみ提供しています。ペイロードを含んだ自己完結型パッケージは Windows Update カタログから取得できます。

どちらの方法でペイロードを取得してもインストール手順は同じです。いずれの場合も Update.exe では同じコード パスによってインストールするファイルが特定されます。インストール中、Update.exe は既にインストールされているファイルを調べ、更新プログラムに含まれているファイルと同一またはそれより新しいものがないかどうかを確認します。更新プログラムに含まれているファイルと同一またはそれより新しいファイルが既にインストールされている場合、そのファイルの更新は不要です。高速インストールと自己完結型インストールのいずれにおいても、この手法が使用されています。次に、これら 2 種類のインストールについて詳しく説明します。

自己完結型インストール (完全インストール)

自己完結型インストール (標準インストールまたは完全インストールともいう) とは、更新としてインストールする必要のあるファイルがすべて含まれているインストール パッケージをいいます。ペイロード全体が使用できる状態で含まれているため、Update.exe はインストールする必要のあるファイルを特定し、インストールを実行します。このインストール方法はファイアウォールで保護された大規模な環境に適しています。この方法であれば、ファイアウォールがあるために個々のコンピュータからインターネットにアクセスできない場合や、インターネットからのインストールが禁止されている場合でもインストールが可能です。

高速インストール

自己完結型インストールとは異なり、高速インストールには更新のペイロードが含まれていません。更新に必要なファイルを調べ、インストールするファイルの一覧を作成して、それらのファイルを Windows Update サーバーから取得します。インストールする必要のあるファイルとコンピュータ上のファイルを比較し、既にインストールされているファイルより新しいファイルだけをダウンロードしてインストールします。

ネットワークインストール

ネットワーク インストール (詳細については「導入方法」を参照) には、インストーラに必要なディスク領域が少なくて済むという利点があります。ペイロードをネットワーク上に置くことによって、インストールの作業領域としてネットワーク上の保存場所を使用できるため、ハード ディスク領域を使用する必要がありません。このインストール方法は、コンピュータの記憶容量が限られている環境に適しています。ネットワーク インストールの詳細については、適切な導入ガイドを参照してください。

デバッグシンボル

デバッグ シンボルは、使用頻度が低かったため、現在は Windows Update Web サイトからダウンロードするパッケージには含まれていません。デバッグ シンボルを廃止したことにより、パッケージのサイズが平均で 30% 縮小しました。デバッグ シンボルが必要な場合は、Microsoft サポート技術情報の Knowledge Base の文書「修正プログラム パッケージにはデバッグ シンボル ファイルが含まれない」を参照してください。この文書では、デバッグ シンボルをダウンロードしインストールする方法について説明しています。

導入方法

サービス パックや更新をネットワーク環境のコンピュータに導入するには、いくつかの方法があります。たとえば、インストール オプションを指定して Update.exe を手動で実行する方法もあれば、SMS (Systems Management Server) や Windows インストーラ Sysprep を使用することもできます。さらに、共有ネットワーク フォルダを使用したり Microsoft ダウンロード センターから修正プログラムをダウンロードして更新を配布するという方法も可能です。基本的に、サービス パックと更新はほとんど同じ方法で導入できます。

Windows サービスパックの導入

次の表 10 は、サービス パックの導入方法に関する資料として最適な導入ガイドについてまとめたものです。これらのドキュメントには、サービス パックを単一システム環境および複数システム環境に導入する方法の詳細が記載されています。サービス パックをオペレーティング システムに導入する方法を検討する際には、必ずこれらのドキュメントを参照してください。

10: 導入ガイド

対象オペレーティング システム ドキュメント名 導入ガイドのリンク

Windows NT4 Service Pack 6A

Windows NT Server 展開

http://www.microsoft.com/japan/technet/
prodtechnol/winntas/default.mspx

Windows 2000

Microsoft Windows 2000 Service Pack 4 修正プログラム インストールと導入ガイド

http://www.microsoft.com/japan/windows2000/
downloads/servicepacks/SP4/HFDeploy.htm

Windows 2000

Microsoft Windows 2000 Service Pack 4 インストールと導入ガイド

http://www.microsoft.com/japan/windows2000/
downloads/servicepacks/sp4/spdeploy.htm

Windows XP

Microsoft Windows XP 修正プログラム インストールと導入ガイド

http://www.microsoft.com/japan/WindowsXP/
pro/downloads/servicepacks/sp1/hfdeploy.mspx

Windows XP

Windows XP の導入パート 1 : 計画

http://www.microsoft.com/japan/technet/
prodtechnol/winxppro/deploy/depovg/depxpi.mspx

Windows XP

Windows XP の導入パート 2 : 実装

http://www.microsoft.com/japan/technet/
prodtechnol/winxppro/deploy/depovg/depxpii.mspx

Windows Server 2003

Windows Server 2003 展開キット

http://www.microsoft.com/japan/windowsserver2003/
techinfo/reskit/default.mspx

大規模環境への導入

Microsoft Solutions for Management (TechNet)

http://www.microsoft.com/japan/technet/itsolutions/
msit/default.mspx

Windows サービスパックのスリップストリーム (複合) インストール

サービス パックの場合は、他の更新では使用できないスリップストリーム (複合) インストールという方法を使用できます。この方法は、オペレーティング システムをインストールする前にサービス パックをオペレーティング システムにプレインストールするというものです。スリップストリーム インストールには、インストールの前にオペレーティング システム イメージをサービス パックや更新を使用して更新できるという利点があります。このインストール方法を使用すると、コンピュータを 1 回のイメージング プロセスで完全に更新することができます。この方法を使用できるのは、Windows 2000、Windows XP、または Windows Server 2003 オペレーティング システム全体をインストールする場合です (スリップストリーム インストールを行う方法の詳細については、表 10 に示したドキュメントを参照してください)。

アプリケーションエラー報告 (Watson 報告)

2003 年 12 月にリリースされた Update.exe Version Q4 の特徴の 1 つとして、アプリケーション エラー報告 (Watson 報告) 機能が追加されたことがあります。この機能は、クラッシュ発生時の状況をユーザーの同意を得て Microsoft に報告するというものです。Microsoft に送信されるデータは、「End User Privacy Policy in Application Error Reporting」(英語) に記載された方針に基づいて扱われます。Update.exe の各バージョンにおけるアプリケーション エラー報告機能のサポート状況については、「付録 A インストーラのバージョン管理と機能」を参照してください。

更新の導入

ここでは、サービス パックおよび修正プログラムのさまざまなインストール方法について説明します。

有人モード

家庭や個人が管理する環境で広く使用されているインストール方法で、ユーザーによる操作を必要とします。一般に、このインストールは、いくつかのスイッチと組み合わせて実行します。スイッチの詳細については、「コマンド ライン スイッチ」を参照してください。

ネットワークフォルダからのインストール

個人が管理する環境の複数のコンピュータに更新プログラムをインストールするには、更新を共有ネットワーク ドライブに配置し、以下の手順を実行します。以下の手順では、更新するすべてのコンピュータからアクセス可能なネットワーク上の場所に配布フォルダを作成しています。

  1. ネットワーク上またはコンピュータ上に更新のファイルを保存する配布フォルダを作成します。

  2. 配布フォルダを右クリックし、[プロパティ] をクリックします。

  3. [共有] タブをクリックし、[このフォルダを共有する] をクリックします。

  4. [共有名] に配布フォルダの名前を入力します。

  5. [アクセス許可] をクリックし、このフォルダからユーザーが修正プログラムをインストールできるようにアクセス許可を入力します。

  6. NTFS ファイル システム パーティションがある場合は、[セキュリティ] タブをクリックし、表示されたアクセス許可が [共有] タブ内のアクセス許可と矛盾しないことを確認して、[OK] をクリックします。

  7. 手順 1. で作成した配布フォルダに修正プログラム パッケージをコピーします。

  8. ネットワーク上の共有配布フォルダから修正プログラムをインストールするには、[update name].exe を実行します。

    たとえば、配布フォルダ Update_Folder から修正プログラムをインストールする場合は、次のように入力します。

    \\servername\sharename\ Update_Folder**\[update_name].exe**

    「コマンド ライン スイッチ」で説明したコマンド ライン オプションを使用することによって、インストールをカスタマイズすることができます。

メモ 連続したインストールを行う場合は、「連続したインストール」の説明を再確認してください。

インストールバッチファイル

バッチ ファイルを使用することによって、一度に複数の修正プログラムをインストールできます。ここでは、ネットワーク共有から複数の修正プログラムをインストールする状況として代表的な 2 つのシナリオに対応するバッチ ファイルの例を紹介します。1 つ目の例では、サービス パックと複数の修正プログラムを同時にインストールする方法を示します。インストーラが再起動の必要性を判断できるように、可能な限りこちらの方法を使用してください。2 つ目の例では、再起動が必要かどうかを判断する方法について説明します。

  1. サービス パックと更新を結合します。

    この例では、サービス パックと修正プログラムのインストールを結合します。サービス パックのインストール後にコンピュータを再起動しないため、続けて更新を適用することができます。更新 (下記のバッチ ファイル例では Update_A) のインストール後に再起動が必要ではなくても、Update.exe はその前に行ったサービス パックのインストールで再起動が必要だったことを認識し、インストールが完了した時点でユーザーに再起動するよう指示します。

    @ECHO OFF    
    SETLOCAL    
    REM Location of updates to install    
    SET PathOfFixes=Drive:\hotfix    
    %PATHTOFIXES%\SP_install.exe /Z /U    
    %PATHTOFIXES%\Update_A.exe /U
    
    

    Update.exe の QChain 機能によって再起動の必要性を考慮せずに済むため、複数のインストールを連結し、すべてのインストールの Pending File Rename を 1 回の再起動で処理することができます。この例では、/U スイッチを使用してユーザー インターフェイスを非表示にしているため、ユーザーはこの処理に必要な情報の入力を要求されません。

  2. 再起動が必要かどうかを判断します。
    再起動が必要かどうかがはっきりしない場合 (インストールした更新のいずれかで再起動が必要になる可能性がある場合)、以下のバッチ ファイルを使用してインストーラのリターン コードを評価し、再起動の必要性を判断します。

    @ECHO OFF    
    SETLOCAL    
    REM Location of updates to install    
    SET PathOfFixes=Drive:\hotfix    
    REM Flag used to determine if a restart is required, initialize to 0    
    SET Reboot_Needed=0    
    %PathOfFixes%\update_a.exe /Z /U    
    IF ERRORLEVEL 3010 SET Reboot_Needed=1    
    %PathOfFixes%\update_B.exe /Z /U    
    IF ERRORLEVEL 3010 SET Reboot_Needed=1    
    %PathOfFixes%\Update_C.exe /Z /U    
    IF ERRORLEVEL 3010 SET Reboot_Needed=1    
    REM force restart here    
    IF %Reboot_Needed%.==1. Shutdown /r                    
    
    

    この例では、インストーラからのリターン コードをチェックして、再起動が必要かどうかを判断します。更新プログラムをインストールするときには、こちらの方法を使用するようお勧めします。

    メモ Windows XP では、上の例で使用したシャットダウン コマンドがオペレーティング システムに組み込まれており、既定で使用できます。Windows 2000 の場合は、同じ機能が Windows NT リソース キットのユーティリティとして提供されており (Shutdown.exe または Shutgui.exe)、これらのユーティリティを別途インストールする必要があります。

  3. 無人インストールの方法。

    Update.exe の無人インストール機能を使用すると、更新プログラムおよびサービス パックのインストールを自動化できるため、ユーザーによる操作が不要になります。無人インストールの方法には、コマンド ライン スイッチを使用してカスタム バッチ インストールを作成する方法から、SMS や SUS などの自動化ソフトウェアを使用し、ネットワークを経由して更新やサービス パックをすべてのコンピュータにインストールするという方法まで、さまざまなものがあります。無人インストールの方法を検討する際の資料としては、「Microsoft Windows 2000 Guide to Unattended Setup」が最適です。このドキュメントは Unattend.doc というファイル名で Windows 2000 の付属 CD にも収められています。Windows XP コンピュータでは、Update.exe を使用して無人インストールを構築する代わりに Sysprep を使用することもできます。詳細については、「Sysprep の使用方法: はじめに」 を参照してください。

導入のタイミング

修正プログラムの移行

修正プログラムの移行は、Microsoft Windows XP および Windows Server 2003 プラットフォームでのみ可能です。これらの環境で修正プログラムを移行すると、サービス パックのアップグレード時に同じ更新レベルを維持することができます。Windows XP と Windows Server 2003 では手順が異なりますが、同じ結果になります。サービス パックをリリースする前の数週間の間にリリースされた修正プログラムは、そのサービス パックに含められないことがあります。このような場合 WinSE では、移行可能な修正プログラムを提供しているため、サービス パックをインストールした後にそれらの修正プログラムを再度インストールする必要はありません。実際には、現在のオペレーティング システム リビジョン レベルに対する修正プログラムをインストールし、次のサービス パック レベルに対する修正プログラムをキャッシュします。次のサービス パックをインストールすると、キャッシュされていた修正プログラムがそのサービス パック バージョンに移行します。Windows XP のデュアル モード修正プログラムの詳細については、Microsoft サポート技術情報の Knowledge Base の文書「Windows XP のデュアル モード修正プログラム パッケージについて」を参照してください。Windows Server 2003 における修正プログラムの移行の詳細については、「Windows Server 2003 製品アップデート パッケージの内容に関する説明」を参照してください。修正プログラムの移行に使用されるディレクトリの構造については、「更新パッケージの内容」を参照してください。

デュアル モード インストールの場合はパッケージ内にファイルが 1 つ追加されています。この Xpsp1hfm.exe というファイルは、アップグレードされたサービス パックへの新しい更新の移行を管理するもので、インストールする必要がある更新のバージョンを特定します。デュアル モード インストールでは、パッケージの内容を展開してから、Update.exe ではなく Xpsp1hfm.exe を実行し、インストールを行います。このとき、Update.exe に適用するスイッチと同じスイッチを Xpsp1hfm.exe にも適用できます。

ブロックリスト - 既にインストールされている更新の上書き

サービス パック サイクルの終わりにリリースされ、次のサービス パックには含められない更新を "ブロックリスト修正" といいます。このような "端境期" の更新は次のサービス パックをリリースする直前の短い期間に作成されるもので、数は多くありません。サービス パックのインストール時にこのような更新は上書きされ、それらの更新が無人モードまたは対話モードで行われることを示すインストーラ ログ エントリが作成されます。インストールを開始すると、"システム構成を調べています。" というメッセージに続き、以下のメッセージが表示されます。

"このサービス パックには、コンピュータにインストールされていない修正プログラムに対応するファイルが含まれています。問題が発生する可能性があるため、これらのファイルはインストールされません。

これらの修正プログラムがサービス パックとインストール済みのホットフィックスの両方に含まれるようにするためには、サービス パックをインストールする前またはインストールした後で以下のホットフィックスの更新バージョンを入手し、インストールする必要があります。これらのホットフィックスは svcpack.log ファイルにも列記されています。"

サービス パックのインストール中に上書きされた更新は、もう一度インストールする必要があります。どの更新が上書きされたかを調べるには、サービス パックのリリース ノートを参照するか、Updtblk.inf ファイルの内容をチェックしてください。上書きされる更新を特定できたら、その更新の更新バージョンをダウンロードし、サービス パックのインストール後に続けてインストールします。

ブロックリスト修正は、更新のインストールにも関係します。この場合は、インストールされる更新のバージョンが既に古いことを意味します。この問題が発生した場合は、その更新の新しいバージョンをダウンロードし、インストールしてください。次のようなメッセージが表示されます。

"このホットフィックスは、古いファイルが含まれているため、インストールできません。修正プログラム KB###### の最新バージョンをダウンロードし、インストールしてください。"

ブロックリスト修正の更新の詳細については、次の Microsoft サポート技術情報の Knowledge Base の文書を参照してください。

810077 - いつホットフィックスが SP3 のどの前バージョンにインストールされるコンピュータに SP3 をインストールするか表示される警告を抑制する方法

309601 - Windows 2000 Service Pack 3 (SP3) と競合する Windows 2000 修正プログラム

ページのトップへ ページのトップへ

更新パッケージの内容

更新パッケージには、パッケージ インストーラのほかに、インストーラの関連ファイル (.inf ファイルなど)、およびペイロード (更新されるファイル) が収められています。ここでは、バイナリ ファイル、ログ ファイル、およびこれらのファイルの構造について説明します。

バイナリ ファイル

"パッケージ" というときには、通常はサービス パックまたは更新の内容を意味しています。どちらの場合も、使用されているロジックとインストール テクノロジは同じです。次の表 11 ではインストーラのバイナリ ファイルについて説明します。この説明はサービス パックと修正プログラムのどちらにも当てはまります。

11: インストーラのバイナリファイル

バイナリ ファイル 説明

branches.inf

ブランチの階層関係を定義します。

custom.dll または spcustom.dll

このパッケージ インストーラに含まれない機能を他のチームが追加できるように用意されたカスタム dll ファイルです。このパッケージ インストーラを使用するチームが増えるに従い、custom.dll ファイルの数も増加します。Windows Sustained Engineering チームが使用している custom.dll の名前は spcustom.dll です (このファイルの用途については、「Custom.dll」を参照してください)。

イベント ログ DLL (spmsg.dll)

spmsg.dll は、インストーラがイベント ビューアに表示するイベントを記録するためのファイルです。spmsg.dll は、リリースされるどのサービス パックおよび修正プログラムにも付属しています。オペレーティング システムのバージョンにかかわらず同じ spmsg.dll が使用されます。

spnres.dll

サービス パックのリソース バイナリであり、サービス パックに追加されたリソース文字列をサポートします。

spunInst.exe (アンインストーラ)

このファイルは、復元されるファイルが保存されるアンインストール ディレクトリにあります。

update.exe (インストーラ)

パッケージ インストーラのコアであり、パッケージに含まれる .inf ファイルによって動作する .inf 駆動型インストーラです。

update.inf

インストールするファイル、インストールする場所、更新するレジストリ キー、インストール中に表示するテキストなどの可変情報をインストーラに渡すことによってインストールを実行するファイルです。イベント ログの名前や場所なども指定します。

update.ver

ペイロードのバージョン、サイズ、ハッシュ情報が記述されています。

update_RTMGDR

複数ブランチ対応のインストールで使用される update.inf ファイルの 1 つです。

update_RTMQFE

複数ブランチ対応のインストールで使用される update.inf ファイルの 1 つです。

updatebr.inf

既定のブランチを定義するファイルであり、update.inf ファイルおよびセットアップ ファイルへのポインタが含まれています。

Custom.dll

custom.dll は、パッケージ インストーラがサポートしていないカスタム機能を組み込む目的で使用されます。Sustained Engineering チームでは、このファイルを使用してパッケージ インストーラに含まれていない機能を提供しています。custom.dll の名前は変更可能であり、ファイル名は .inf ファイルの [Configuration] セクションに指定されています。このファイルによって組み込まれたカスタム機能はインストール プロセスのさまざまな段階で実行されます。

.inf ファイル

.inf ファイルはインストールするファイルの詳細をインストーラに渡します。このファイルによって、更新をリリースするたびにカスタム アクションをインストーラに定義する必要がなくなります。Windows パッケージ インストーラでは複数の .inf ファイルが使用されます。どの .inf ファイルが使用されるかはパッケージの種類によって異なります。update.inf ファイルはすべてのパッケージで使用されます。branches.inf ファイルと updatebr.inf ファイルを使用するパッケージもあります。各パッケージに含まれるファイルの詳細については、「更新パッケージの内容」を参照してください。

Update.inf

update.inf ファイルは、Update.exe に渡されるディレクティブのコアです。複数ブランチ対応のインストールでは、このファイルは修飾名 (update_rtmgdr.inf および update_rtmqfe.inf) で表されます (詳細については、「複数ブランチ対応の .inf ファイル」を参照してください)。update.inf ファイルの構造は柔軟に拡張可能です。最上位レベルでは、更新するオペレーティング システム バージョン情報、変更が必要なレジストリ エントリ、インストール中に実行するカスタム機能などの情報を Update.exe に渡します。このパッケージ インストーラで使用されている .inf ファイルは、MSDN の「Creating an INF file」(英語) に記載された .inf ファイルとよく似ています。異なる点もありますが、ファイルの基本的な構文は同じです。パッチのインストールに使用されるほとんどの update.inf ファイルには、共通のセクションが数多くあります。「付録 B Update.inf ファイル」に、そのような共通のセクションの一覧があります。

複数ブランチ対応の .inf ファイル

複数ブランチをサポートするためには、update_gdr.inf と update_qfe.inf という update.inf ファイルの 2 つのバージョンが必要となります (2 つのファイルの名前が異なるのは、同じディレクトリにあるからです)。他にも updatebr.inf ファイルと branches.inf ファイルの 2 つの .inf ファイルが必要です。これらはブランチを定義したり、ブランチの関係を定義したりするものです。

Branches.inf

このファイルには、更新がどのブランチから作成されたかが示され、ブランチの階層も定義されています。インストール プロセス中に、システムの構成と branches.inf の内容が比較され、インストールが必要なブランチが決定されます。このファイルは、修正プログラムの以前のバージョンを新しいバージョンに移行する必要がある場合にも使用されます。更新のインストールを開始すると、branches.inf ファイルがコンピュータにコピーされます。また、このファイルはバージョン管理されているため、新しいバージョンが作成された場合に対応できます。このファイルの新しいバージョンが別の更新に付属していた場合には、新バージョンに更新されます。

Updatebr.inf

updatebr.inf ファイルには 2 つの目的があります。1 つは共通ファイルと複数ブランチ対応のファイル構造における共通ファイルの位置を定義することであり、もう 1 つはインストールするブランチと update.inf ファイルとの関係を定義することです。複数ブランチ対応のインストールでは、インストールするブランチによって必要となるファイル セットが異なるため、それに対応できるよう複数の update.inf ファイルが更新に付属しています。updatebr.inf の重要な目的の 1 つは、ブランチを適切な update.inf ファイル (update_rtmqfe.inf または update_rtmqfe.inf) にリンクすることです。

インストーラ ログ ファイル

更新またはサービス パックのインストール中には複数のインストーラ ログ ファイルが生成されます。これらのログ ファイルには、インストールの状態などの有用な情報が記録されます。サービス パックまたは更新プログラムをインストールするたびに、新しいログ ファイルが生成されます。インストーラ ログ ファイルは Windows root (%windir%) ディレクトリにあり、ログ ファイルであると簡単にわかる名前が付いています。たとえば、Microsoft サポート技術情報の Knowledge Base の文書 824146 に関連する更新プログラムをインストールした場合、インストーラ ログ ファイルの名前は KB824146.log となります。「付録 D サンプル インストーラ ログ」では、インストーラ ログの例を挙げ、記録された情報の詳細について説明しています。

ログの名前と場所

インストーラ ログの名前は update.inf ファイルに定義されています (場所は定義されません)。.inf ファイルにログ ファイルの名前を定義するエントリがあります。[Strings] セクションの変数 InstallLogFileName を確認してください。この変数は、通常は %SP_SHORT_TITLE%.log に設定され、更新の名前に解決されます。Windows Sustained Engineering が使用している標準のログ ファイル名の一覧は、以下のとおりです。

  • サービスパックのインストール svcpack.log
  • サービスパックのアンインストール spuninst.log
  • 修正プログラムのインストール Q123456.log
  • 修正プログラムのアンインストール Q123456UnInst.log

ログの内容

インストーラ ログ ファイルには、主として以下の情報が記録されます。

  • コマンド ライン引数
  • パッケージのインストール先
  • レジストリからの Pending File Rename
  • タイミング統計
  • ディスク領域の使用量
  • OEM ファイル チェックの結果
  • ファイルのコピー操作
  • レジストリの更新
  • custom.dll から実行されたプロセスとリターン コード

このインストーラの Version Q4 以降では、ログ メカニズムの頑強性が向上しています。この節および付録の説明は Version Q3 に関するものです。インストーラのバージョン管理の詳細については、「付録 A インストーラのバージョン管理と機能」を参照してください。

ログエントリ

インストーラ ログには、エラーのように見えて、実は情報の提供を目的としているエントリがあります。エラーのように見えるのは、このインストーラが標準の Windows SetupAPI を使用しており、書式およびエントリの設定機能に限界があるからです。次の表 12 に、エラーと混同しやすいインストーラ ログ エントリの例を示します。

12: エラーと混同しやすいログエントリ

状況 詳細

DoInstallation : CleanPFR failed :

レジストリの PFR 一覧をクリーンアップしようとしたところ、PFR にエントリがなかったことを示しています。

FetchSourceURL : SetupOpenInfFile Failed to open file : d:\20fc32a210eecc6746827750294191cb\i386\update\update.url

この状況は、パッチング モードにおいて更新の一部をインターネットからインストールした場合のみエラーと見なします。更新に必要なすべてのファイルが手元に用意されている場合は、エラーではありません。

DoInstallation : FetchSourceURL for d:\20fc32a210eecc6746827750294191cb\i386\update\update.inf Failed

この状況は、パッチング モードにおいて更新の一部をインターネットからインストールした場合のみエラーと見なします。更新に必要なすべてのファイルが手元に用意されている場合は、エラーではありません。

BuildCabinetManifest:SetupOpenInfFile failed with error INVALID_HANDLE_VALUE

このファイルがパッケージに含まれているかどうかをチェックしていることを示すエントリです。このエラーはファイルがパッケージに含まれていないことを示しています。

Failed Deleting C:\WINNT\system32\msiinst.tmp 2

これはクリーンアップ エラーです。作成されたディレクトリおよびファイルをすべてクリーンアップする必要があるにもかかわらず、ファイルが作成されていないため、削除できなかったことを示しています。

RegisterFile:RegOpenKeyEx for SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q811493\Filelist\3 Failed: 0x2

検索していたレジストリ キーが存在しないことを知らせるエントリです。この場合、更新 811493 がインストールされていない可能性があります。

LoadFileQueues: SetupGetSourceFileLocation for halacpi.dll failed: 0xe0000102

hal*.* ファイルについて述べているエラーは、ほとんどの場合、エラーではありません。インストーラは必ずパッケージの hal*.* ファイルを検索し、見つかりしだいインストールします。

Update.exe のログ エントリについては現在見直しを進めており、将来のバージョンで大幅に変更されます。上記のエントリは Q3 およびそれ以前のバージョンのものです。実際のログ ファイルの内容と異なっている場合は、そのログを作成したインストーラのバージョンを確認してください (詳細については、「付録 A インストーラのバージョン管理と機能」を参照してください)。

ファイル構造

展開したパッケージの内容は、ハード ディスクの解凍先フォルダ内の複数のサブディレクトリに一貫した方法で保存されます。解凍先のフォルダ名はユーザーが指定できます。指定しなかった場合は、現在のドライブの root ディレクトリにランダムな名前のフォルダが作成されます。このディレクトリには、インストーラ、関連ファイル、およびペイロードが保存されます。ディレクトリ構造には 3 つの種類があります。どのディレクトリ構造が作成されるかは、パッケージの古さ、種類、および更新の対象となるオペレーティング システムによって決まります。以下に、標準、デュアル モード、複数ブランチ対応の各ディレクトリ構造を示します。表 12 は、各オペレーティング システムで一般的なパッケージの種類を示しています。パッケージの展開内容に関して "root ディレクトリ" という用語は、パッケージの解凍先となるフォルダと同じものを指します。

12: オペレーティングシステムごとのディレクトリ構造

ディレクトリ構造 Windows 2000 Windows XP Windows Server 2003

標準

N/A

デュアル モード

N/A

N/A

複数ブランチ対応

N/A

N/A

標準ファイル構造

標準ディレクトリ構造は 3 種類の中で最も単純です (次の図 2 を参照してください)。ファイルは解凍先の root ディレクトリか Update ディレクトリのいずれかに保存されます。次の表 13 は、標準ディレクトリ構造における各ファイル、ファイルの保存先、およびファイルの目的をまとめたものです。

図 2: 標準ファイル構造の例

2: 標準ファイル構造の例

このファイル構造の例は、セキュリティ情報 MS03-026 に関連する Windows 2000 の更新 823980 をダウンロードすると確認できます。

13: 標準ファイル構造における各ファイルの目的と保存先

ファイル名 インストール先 目的

spuninst.exe

root

実行可能ファイルと共にインストールされたアンインストール プログラム。

spmsg.dll

root

メッセージをイベント ログに書き込むメッセージング DLL。

spnres.dll

root

新しいリソースをサービス パックに組み込むリソース DLL (詳細については、後の SPnRes.dll を参照してください)。

empty.cat

root

セキュリティ カタログ (Windows 2000 のみ)。

eula.txt

root\Update

対話型セットアップにおいて表示される使用許諾契約書。

KB######.cat

root\Update

セキュリティ カタログ。

custom.dll

root\Update

インストールで使用するカスタム機能が含まれた DLL。

update.exe

root\Update

修正コードのインストールを行う実行可能ファイル。

update.inf

root\Update

インストールの変数および関連情報を提供します。

updblk.inf

root\Update

ブロックリスト更新が一覧されています (詳細については、「ブロックリスト - 既にインストールされている更新の上書き」を参照してください)。

update.ver

root\Update

ペイロードのバージョン、サイズ、ハッシュ情報が記述されています。

パッケージ ペイロード

root

更新としてインストールされるファイル。

デュアルモードファイル構造

デュアル モード インストールのファイル構造は標準インストールの場合よりやや複雑です。デュアル モード インストールでは、同じオペレーティング システムの 2 つのバージョンに対応できるようにペイロードが拡張されています。たとえば、1 つの更新を Windows XP RTM と Windows XP SP1 の両方に適用することができます (次の図 3 を参照してください)。デュアル モード インストールは Windows XP にのみ対応しています。ここでは、Windows XP RTM および Windows XP SP1 の更新を目的として作成されたデュアル モード インストール パッケージを前提としています。デュアル モード インストールの詳細と、このようなインストールが必要となる理由については、「導入のタイミング」の「修正プログラムの移行」を参照してください。

デュアル モード インストールの場合、ファイルは次の 4 つのディレクトリに展開されます。

  1. root ディレクトリ どのペイロードを使用するかを決定する実行可能ファイルがあります。
  2. Common ディレクトリ 両方のインストール バージョンで使用されるファイルがあります。
  3. RTM ディレクトリ RTM インストール用のペイロード関連ファイルがあります。
  4. SP1 ディレクトリ SP1 インストール用のペイロード関連ファイルがあります。

図 3: デュアルモード ファイル構造の例

3: デュアルモードファイル構造の例

このファイル構造の例は、セキュリティ情報 MS03-026 に関連する Windows XP の更新 823980 をダウンロードすると確認できます。表 14 は、各ファイルの目的と保存先を示しています。

14: デュアルモードファイル構造における各ファイルの目的と保存先

ファイル名 インストール先 目的

Xpsp1hfm

root

デュアル モードでのみ使用されるファイルであり、インストールする修正コードのバージョンを特定し、インストーラを起動します。

spuninst.exe

root\Common

実行可能ファイルと共にインストールされたアンインストール プログラム。

spmsg.dll

root\Common

メッセージをイベント ログに書き込むメッセージング DLL。

spnres.dll

root\SP1 と root\SP2 のいずれか一方または両方

新しいリソースをサービス パックに組み込むリソース DLL (詳細については、後の SPnRes.dll を参照してください)。必要に応じてパッケージに追加されます。

eula.txt

root\Common

対話型セットアップにおいて表示される使用許諾契約書。

KB######.cat

root\SP1\Update

root\SP2\Update

セキュリティ カタログ。

custom.dll

root\Common

インストールで使用するカスタム機能が含まれた DLL。

update.exe

root\Common

修正コードのインストールを行う実行可能ファイル。

update.inf

root\SP1\Update

root\SP2\Update

インストールの変数および関連情報を提供します。

updblk.inf

root\SP1\Update

root\SP2\Update

ブロックリスト更新が一覧されています (詳細については、「ブロックリスト - 既にインストールされている更新の上書き」を参照してください)。

update.ver

root\SP1\Update

root\SP2\Update

ペイロードのバージョン、サイズ、ハッシュ情報が記述されています。

ペイロード

root\SP1

root\SP2

システムにインストールされるファイル。

複数ブランチ対応ファイル構造

複数ブランチ対応インストールは Windows Server 2003 でのみ使用可能であり、デュアル モード インストールの場合と同じように、1 つのパッケージで複数のインストール シナリオに対応します。複数ブランチ対応の更新では、デュアル モード インストールのシナリオに対応できるほか、オペレーティング システムのサービス パック レベルが同じである 2 種類の開発環境も更新することができます。あるサービス パックから次のサービス パックがリリースされるまでの間に、ブランチと呼ばれる開発環境から更新がリリースされます。ブランチには、GDR (General Distribution Releases) ブランチと修正プログラム ブランチの 2 つがあります。セキュリティ上の脆弱性などの広範囲に及ぶ重大な問題への対応策として Microsoft がリリースする更新は GDR と呼ばれ、Windows Update から配布されます。このような更新は他の修正プログラムとは別に GDR ブランチで作成されます。修正プログラムは、ユーザーから要望のあった特殊な問題に対処する目的で Microsoft 製品サポート サービスが配布するもので、GDR ほどの徹底した検証は行われません。このように 2 つのブランチがあることで、GDR を入手して広範囲に及ぶ重大な問題 (セキュリティ上の脆弱性など) だけを解決し、修正プログラムのコード変更を加えないことができるため、ユーザーにとってリスクが小さくなります。複数ブランチの詳細については、「Windows Server 2003 製品アップデート パッケージの内容に関する説明」を参照してください。どちらのブランチで作成されたものであっても、修正コードは必ず次のサービス パックに含められます。

複数ブランチ対応の更新を解凍すると、root ディレクトリの下に更新ディレクトリと共に関連ブランチのバイナリ ファイルが収められた複数のディレクトリが作成されます。これらのディレクトリには図 4 に示すような名前が付きます。ディレクトリ名の前半は製品のマイルストーンを表します (たとえば、RTM は Release To Market を意味し、SP1 は Service Pack 1 を意味します)。ディレクトリ名の後半が更新を作成したブランチ (開発環境) を表します。次の図では、GDR と QFE がブランチを表しています (複数ブランチ対応の更新では、QFE が修正プログラムを意味する略語として使用されており、修正プログラム ブランチを表す標準の名前となっています)。

このディレクトリ構造では、インストーラとペイロードによってディレクトリが分けられています。インストーラは更新のインストールに必要な関連ファイルと共に Update ディレクトリに保存され、ペイロードは RTMQFE と RTMGDR の 2 つのディレクトリに保存されます。

図 4: 複数ブランチ対応ファイル構造の例

4: 複数ブランチ対応ファイル構造の例

このファイル構造の例は、セキュリティ情報 MS03-026 に関連する Windows Server 2003 の更新 823980 をダウンロードすると確認できます。表 15 は、各ファイルの目的と保存先を示しています。

15: 複数ブランチ対応ファイル構造における各ファイルの目的と保存先

ファイル名 インストール先 目的

spuninst.exe

root

実行可能ファイルと共にインストールされたアンインストール プログラム。

spmsg.dll

root

メッセージをイベント ログに書き込むメッセージング DLL。

eula.txt

root\Update

対話型セットアップにおいて表示される使用許諾契約書。

KB######.cat

root\Update

セキュリティ カタログ。

custom.dll

root\Update

インストールで使用するカスタム機能が含まれた DLL。

update.exe

root\Update

修正コードのインストールを行う実行可能ファイル。

update_rtmgdr.inf

root\Update

RTMGDR インストールの変数および関連情報を提供します。

update_rtmqfe.inf

root\Update

RTMQFE インストールの変数および関連情報を提供します。

branches.inf

root\Update

複数ブランチ対応インストールのブランチ階層が定義されています。

updatebr.inf

root\Update

複数ブランチ対応インストールの既定のブランチが定義されています。

updblk.inf

root\Update

ブロックリスト更新が一覧されています (詳細については、「ブロックリスト - 既にインストールされている更新の上書き」を参照してください)。

update.ver

root\Update

ペイロードのバージョン、サイズ、ハッシュ情報が記述されています。

spnres.dll

root\RTMGDR

root\RTMQFE

新しいリソースをサービス パックに組み込むリソース DLL (詳細については、後の SPnRes.dll を参照してください)。この例では、このファイルは特別な処置を加えられず、必要に応じてペイロードに組み込まれます。

パッケージ ペイロード

root\RTMGDR

root\RTMQFE

システムにインストールされるファイル。

ページのトップへ ページのトップへ

まとめ

Microsoft の Windows パッケージ インストーラは、オペレーティング システムおよびインストール済み製品にサービス パックや更新を適用することを目的とした全機能搭載のインストーラです。このインストーラは、ユーザーや製品グループの要求に応えながら発展していきます。標準モードやネットワーク インストールなどのインストール方法を使用できるほか、インストール バッチ ファイルを使用してインストーラの処理を制御することもできます。導入方法を検討する際の情報源としては、サービス パックに付属の導入ガイドが最適です。

このドキュメントでは、インストーラがファイルのコピー以外にどのような操作を実行するのかを十分に理解できるよう、インストーラの機能について詳しく説明しました。また、レジストリに加えられる変更やレジストリ エントリの働きについても詳しく解説し、インストール ログ ファイルに書き込まれる内容にも触れました。さらに、パッケージ構造にも説明を加え、パッケージの主要なディレクトリ構造などを紹介しました。

このドキュメントは 2003 年 12 月現在のインストーラ テクノロジに関するものです。インストーラの機能がユーザーの要求に対応して変更されたときには、このドキュメントにも変更が加えられるため、改訂版が発行されていないかどうかを定期的にチェックしてください。

ページのトップへ ページのトップへ

付録 A インストーラのバージョン管理と機能

バージョン管理

インストーラの統一を目的として、さまざまな製品グループがコード修正のインストーラを Update.exe に切り替え始めています。効率性をさらに高めるために、2003 年、Update.exe の開発チームは開発サイクルを四半期ベースに変更し、Update.exe の新バージョンを 3 か月ごとにリリースしました。2004 年は、1 年を 3 つの期間に分割し、4 か月ごとに新リリースを提供する予定です。

修正プログラムについては、最新のインストーラ機能と組み合わせて動作を検証します。したがって、エラーの発生を防止するためには、付属の Update.exe とは異なるバージョンの Update.exe で修正プログラムをインストールしないことが必要です。

各インストーラ バージョンの機能

次の表は、Update.exe の各バージョンの主要な追加機能とリリース時期をまとめたものです。個々のインストーラ機能について、Update.exe の各バージョンと機能の相互参照を示しています。この表に挙げた機能の多くは、エンド ユーザーへの直接的な影響はありません。更新パッケージ インストーラを採用する Microsoft チームと追加機能を必要とする Microsoft チームが一致しない場合もあります。

16: 各インストーラバージョンの機能

名前 バージョン 主要な機能 リリース時期

Q1

5.3.16.5

Update.exe ログの拡張

アンインストール UI の更新

リカバリ コンソールからのアンインストール

修正プログラムのエントリを [プログラムの追加と削除] に追加

使用許諾契約書 (EULA) の印刷

2003 年 3 月

Q2

5.3.18.6

セーフ モードでインストール/アンインストールを行った場合の警告

アンインストール スイッチの追加

/N を指定してインストールしたパッケージを [プログラムの追加と削除] の一覧に表示

2003 年 6 月

Q3

5.3.24.4

.inf ファイルに前提条件のセクションを追加

クラッシュ エラー以外のエラーを対象とする Watson 報告機能の統合

標準コマンド ライン インストーラ スイッチのサポート

2003 年 9 月

Q4

TBD

TBD

TBD

メモ Windows Server 2003 の初期の更新は、バージョン 5.3.17.9 の Q2 インストーラと共にリリースされました。このバージョンの機能セットは、上に記載されている Q2 インストーラのものと同じです。

インストーラのバージョン確認

インストーラに追加された機能が理解できたら、インストーラのバージョンを見分けられるようになることが必要です。そのためには、パッケージの内容を展開します。展開したら、該当するパッケージのディレクトリ構造の表を使用して Update.exe を探します。バージョン番号を表示するには、まず Update.exe を右クリックし、ショートカット メニューの [プロパティ] をクリックします。[update.exe のプロパティ] ダイアログ ボックスの [バージョン情報] タブをクリックします (次の図 5 を参照してください)。

図 5: インストーラのバージョンの例

5: インストーラのバージョンの例

ページのトップへ ページのトップへ

付録 B Update.inf ファイル

ここでは、Update.inf ファイルの主要なセクションについて説明します。このリファレンスを参照するときには、.inf ファイルではエントリの位置が意味を持たないことに留意してください。ただし、ほとんどのファイルでは一定の順序に従ってエントリが配置されています。次に挙げるサンプル ファイルでは、わかりやすくするためにエントリの順序を変えています。

Version 更新が適用される製品のバージョンを示します。このセクションのエントリによって、更新が適用可能なバージョンの範囲が定義されます。ToUpdate の値は更新できる最低バージョンを示し、Max の付いている値は最高バージョンを示します (このバージョン範囲はレジストリ エントリ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ CurrentBuildNumber の設定と照合されます)。

Version セクションの一般的なエントリは以下のとおりです。

  • Signature="signature-name"

    Update.exe はインストール先のプラットフォームとして NT プラットフォームのみをサポートするため、署名は常に $Windows NT$ となります。

  • NtBuildToUpdate=build number

    このパッケージを適用できる Windows の最小ビルド番号 (4 桁) です。

  • MaxNtBuildToUpdate=build number

    このパッケージを適用できる Windows の最大ビルド番号 (4 桁) です。

  • NtMajorVersionToUpdate=minimum OS major version number

    このパッケージを適用できる最小メジャー バージョン番号です。

  • MaxNtMajorVersionToUpdate =maximum OS major version number

    このパッケージを適用できる最大メジャー バージョン番号です。

  • NtMinorVersionToUpdate=Minimum OS minor version number

    このパッケージを適用できる最小マイナー バージョン番号です。

  • MaxNtMinorVersionToUpdate=Maximum OS minor version number

    このパッケージを適用できる最大マイナー バージョン番号です。

  • MinNtServicePackVersion=Minimum service pack level number

    インストールの最低サービス パック レベル (この値はサービス パック レベルに 256 を乗じたもの) です。

  • MaxNtServicePackVersion=Maximum service pack level number

    インストールの最高サービス パック レベル (この値はサービス パック レベルに 256 を乗じたもの) です。

  • ThisServicePackVersion=current service pack level number

    パッケージの適用対象となる現在のサービス パック レベル (この値はサービス パック レベルに 256 を乗じたもの) です。

  • LanguageType=%LangTypeValue%

    このパッケージが対応しているシステム言語の値。CD と一致している必要があります。このフィールドが空白であるか、0x0 に設定されている場合、パッケージはどのような言語のシステムにもインストールできます。LangTypeValue は [String] セクションに定義された変数です。

  • CatalogFile=catalog file

    INF ファイルが登録されたカタログ ファイルです。

    [Version]    
      Signature="$Windows NT$"    
      LanguageType=%LangTypeValue%    
      NtBuildToUpdate=3790    
      MaxNtBuildToUpdate=3790    
      NtMajorVersionToUpdate=5    
      MaxNtMajorVersionToUpdate=5    
      NtMinorVersionToUpdate=2    
      MaxNtMinorVersionToUpdate=2    
      MinNtServicePackVersion=0    
      MaxNtServicePackVersion=0    
      ThisServicePackVersion=0    
      CatalogFile=%SP_SHORT_TITLE%.cat
    

DirectoryID.Include 実行時にプロセスを使用してインストール先を決定します。

次の例では、AddDirID が後続の RISAdm.DirID セクションを指し示しています。RISAdm.DirID セクションには実行されるアクションが指定されます。この例では、SPCustom.dll RISAdminSection に含まれている機能です。

            [DirectoryId.Include]    
    AddDirId=RISAdm.DirId    
…    
 [RISAdm.DirId]    
    DirId = 65625    
    CustomFunction=SpCustom.dll,GetRISAdminPathName    
    InstallFromSection = RISAdminSection    
    CopyFlags = SP_COPY_FORCE_NEWER | SP_COPY_REPLACEONLY
                

ProductCatalogsToInstall インストールされるカタログの名前と場所を示します。この例で使用されている変数 %SP_SHORT_TITLE% は .inf ファイルの Strings セクションで解決されます (以下を参照してください)。

[ProductCatalogsToInstall]    
  %SP_SHORT_TITLE%.cat, update\%SP_SHORT_TITLE%.cat

ProductInstall.CopyFilesAlways インストール中にコンピュータに必ずコピーすることが必要なファイルの詳細があるセクションを示します。

[ProductInstall.CopyFilesAlways]    
  CopyFiles=CopyAlways.System32.files    
  CopyFiles=CopyAlways.Inf.files

ProductInstall.CopyFilesAlways.platform_name 必ずインストールされるファイルがプラットフォーム名ごとに定義されています。プラットフォーム名はセクション名の終わりにあります。次の例では、Professional および Server プラットフォームで使用されるファイルの詳細が記述されています。

[ProductInstall.CopyFilesAlways.Professional]    
  CopyFiles=CopyAlways.Prf.System32.files    
[ProductInstall.CopyFilesAlways.Server]    
  CopyFiles=CopyAlways.Srv.System32.files    
  CopyFiles=CopyAlways.Srv.Inf.files

ProductInstall.ReplaceFilesIfExist 既にインストールされている場合に置き換えられるファイルが指定されています。コピーするファイルの詳細については、CopyFiles ディレクティブで参照される別のセクションにあります。次の例の CopyFiles ディレクティブではコピーするファイルを指定するため、System32.files と Cache.files という 2 つのセクションを参照しています。

[ProductInstall.ReplaceFilesIfExist]    
  CopyFiles=System32.files    
  CopyFiles=Cache.files    
…    
[System32.files]    
  urlmon.dll,RTMGDR\urlmon.dll    
[Cache.files]    
  urlmon.dll,RTMGDR\urlmon.dll

ProductInstall.GlobalRegistryChanges.Install インストール中に追加されるレジストリ キーがあるセクションを示します。次の例の AddReg ディレクティブは、レジストリ キーが指定された Product.Add.Reg セクションを参照しています。

ProductInstall.GlobalRegistryChanges.Install]    
  AddReg=Product.Add.Reg    
…    
[Product.Add.Reg]    
  HKLM,SOFTWARE\Microsoft\Windows    
NT\CurrentVersion\Hotfix\%SP_SHORT_TITLE%,"Installed",0x10001,1    
 [ProductInstall.CopyFilesAlways.Professional]

DestinationDirs ファイルのインストール先ディレクトリを定義します。次の例では、システム ディレクトリが %windir%\system32 と定義され、システム .dll キャッシュ ディレクトリが %windir%\system32\DllCache と定義されています。

このセクションは後続の System32.files セクションおよび Cache.files セクションを参照しています。DestinationDirs セクションには、ターゲット ディレクトリの定義とインストールの対象となるファイルの一覧が指定されたセクションへのポインタがあります。パッケージ インストーラは、DestinationDirs セクションを読み取った後、インストールするファイルの名前とコピー元を System32.files セクションおよび Cache.files セクションから取得します。

[DestinationDirs]    
  System32.files=11  ; %windir%\system32 (replace if exist)    
  Cache.files=65619  ; %windir%\system32\DllCache (replace if exist)

ArchiveCatalogFilesOnly アンインストール ディレクトリにアーカイブするカタログ ファイルの名前を定義します。変数 %SP_SHORT_TITLE% は Strings セクションで解決されます。

[ArchiveCatalogFilesOnly]    
  %SP_SHORT_TITLE%.cat

SourceDisksNames インストール ディスクの ID および説明を示します。複数のインストール ディスクがある場合は、複数のエントリが存在します。次の例では、ディスク ID が 1 に設定され、ディスクの説明は %ServicePackSourceFiles% にあります。%ServicePackSourceFiles% は .inf ファイルの終わりにある Strings セクションに定義されています。

[SourceDisksNames]    
  1=%ServicePackSourceFiles%

SourceDisksFiles ソース ファイル (インストールされるファイル) の名前とそれらのファイルがあるソース ディスクが指定されています。ソース ディスクの名前は上記の SourceDisksNames に指定されています。

[SourceDisksFiles]    
  RTMGDR\mshtml.dll=1    
  RTMGDR\shdocvw.dll=1    
  RTMGDR\urlmon.dll=1

Strings .inf ファイル内で使用される文字列トークンが定義されています。

[Strings]    
  BUILDTIMESTAMP=20030914.180726    
  ServicePackSourceFiles="Windows Server 2003 Hotfix Source Files"    
  SP_SHORT_TITLE="KB828750"    
  SP_TITLE="Windows Server 2003 Hotfix - KB 828750"    
  SERVICE_PACK_NUMBER=1

Configuration 通常は .inf ファイルの最後に配置されます。このセクションはどの .inf ファイルにも必要であり、インストールの種類、イベント ログ DLL 名、およびパッケージのインストールに必要な各種の情報が定義されています。

[Configuration]    
  InstallationType=Hotfix    
  InstallLogFileName=%SP_SHORT_TITLE%.log    
  UnInstallLogFileName=%SP_SHORT_TITLE%Uninst.log    
  UnInstallDirName=$NtUninstall%SP_SHORT_TITLE%$    
  EventLogKeyName=NtServicePack    
  EventLogDllName=spmsg.dll

ページのトップへ ページのトップへ

付録 C インストーラのプロセス フロー

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

分析コンポーネントの処理手順

図 6: 分析コンポーネントの処理手順

6: 分析コンポーネントの処理手順

ページのトップへ ページのトップへ

付録 D サンプル インストーラ ログ

この付録を読む前に、「インストーラ ログ ファイル」にあるインストーラ ログの説明を参照してください。ここに挙げたサンプル インストーラ ログには各エントリについての説明が加えられています。わかりやすくするために、重複するエントリは削除してあります。ログ ファイルのエントリには必ず末尾に 3 つのアスタリスク (***) が付いています。コメントはこの記号の後に付け加えます。

service pack started with following command line: -q /Z    

コマンド ライン スイッチを使用してパッケージを呼び出しています (詳細については、「コマンド ライン スイッチ」を参照してください)。

DoInstallation: CleanPFR failed: 0x2    

ファイルの適切なバージョンが更新されるように PFR キューの並べ替えを行います (詳細については、「Pending File Rename」および「連続したインストール」を参照してください)。

FetchSourceURL: SetupOpenInfFile Failed to open file:    
c:\090947fef595ce12d15a\update\update.url    

「ログ エントリ」を参照してください。

DoInstallation: FetchSourceURL for    
c:\090947fef595ce12d15a\update\update.inf Failed    

「ログ エントリ」を参照してください。

CreateUninstall = 1,Directory = C:\WINDOWS\$NtUninstallQ815485$    

アンインストール ディレクトリが作成されたことを示す情報目的のエントリです。更新のアンインストールに必要な .dll ファイルおよび .inf ファイルが、このディレクトリに保存されます。

LoadFileQueues: SetupGetSourceFileLocation for halacpi.dll failed:    
0xe0000102    

既知のエラーです。「インストーラ ログ ファイル」を参照してください。

BuildCabinetManifest:SetupOpenInfFile failed with error    
INVALID_HANDLE_VALUE    

既知のエラーです。「インストーラ ログ ファイル」を参照してください。

AnalyzePhaseZero used 0 ticks    

インストーラの内部で実行されるプロセスのミリ秒単位の実行時間です。

No c:\windows\INF\updtblk.inf file.    

ブロックリスト ファイルのチェック結果を示す情報目的のエントリです。

SetupFindFirstLine in LoadExclusionList Failed with error: 0xe0000102    

インストーラがロード除外ファイル一覧 (インストールの対象から除外されるファイルの一覧) を探しています。この例では、ロード除外ファイル一覧はありません。

Oem driver C:\WINDOWS\System32\DRIVERS\e100b325.sys is signed by    
oem0.CAT and will not be replaced    

インストール中に上書きしてはならない OEM ファイルの一覧を作成します。

AnalyzePhaseOne: used 53517 ticks    
AnalyzePhaseTwo used 20 ticks    
AnalyzePhaseThree used 0 ticks    
AnalyzePhaseFive used 0 ticks    
AnalyzePhaseSix used 0 ticks    
AnalyzeComponents used 53787 ticks    
Downloading 0 files    
bPatchMode = FALSE    
Inventory complete: ReturnStatus=0, 54208 ticks    

インベントリ スレッドからのリターン コードです (インベントリ スレッドの詳細については、「付録 C」を参照してください)。この関数からのリターン状態が 0 である場合、成功を意味します。

Num Ticks for invent : 54208    

インベントリ スレッドがインストール対象ファイル一覧の作成と各ファイルの検証に要した時間です (詳細については、「付録 C」を参照してください)。

Allocation size of drive C: is 4096 bytes, free space = 36897738752    
bytes    

更新またはサービス パックをインストールする前に行ったディスク空き領域チェックの結果です。

Drive C: free 35188MB req: 13MB w/uninstall 32MB    

更新またはサービス パックをインストールする前に行ったディスク空き領域チェックの結果です。

LoadFileQueues: SetupGetSourceFileLocation for halacpi.dll failed:    
0xe0000102    

既知のエラーです。「インストーラ ログ ファイル」を参照してください。

Num Ticks for Backup : 260    

上記のプロセスの実行時間です。

Num Ticks for creating uninst inf : 201    

上記のプロセスの実行時間です。

Registering Uninstall Program for -> Q815485, Q815485 , 0x0    

レジストリにアンインストール情報を追加したことを示します。これらのエントリが [プログラムの追加と削除] に表示されます。

LoadFileQueues: SetupGetSourceFileLocation for halacpi.dll failed:    
0xe0000102    

既知のエラーです。「インストーラ ログ ファイル」を参照してください。

System Restore Point set.    

オペレーティング システムが特定の状態に戻るために必要なシステム復元ポイントを設定します。

RegisterFile:RegOpenKeyEx for SOFTWARE\Microsoft\Updates\Windows    
XP\SP2\Q815485\Filelist\0 Failed: 0x2    

このキーが存在するかどうかを調べます。「インストーラ ログ ファイル」を参照してください。

Copied file: C:\WINDOWS\System32\DRIVERS\ndis.sys    

ファイルを作業ディレクトリにコピーしたことの確認です。

Copied file: C:\WINDOWS\System32\DllCache\ndis.sys    

ファイルを DLLCache ディレクトリにコピーしたことの確認です。

Copied file (delayed): C:\WINDOWS\System32\SET14.tmp    

ファイルを PFR に追加しました。

Num Ticks for Copying files : 7611    

ファイルのコピーに要した時間です。

Num Ticks for Reg update and deleting 0 size files : 10    

レジストリの更新に要した時間です。

---- Old Information In The Registry ------    

元のレジストリ情報の後に更新されたレジストリ情報が示されています。この情報は更新に関するもので、更新に必要な機能上の変更に関連するものではありません。

Source:C:\WINDOWS\System32\SET13.tmp    
Version: 5.1.2600.1181    
---- New Information In The Registry ------    
Source:C:\WINDOWS\System32\SET13.tmp    
Version: 5.1.2600.1181    
RebootNecessary = 1, WizardInput = 1 , DontReboot = 1    

インストーラが返したフラグであり、インストーラの完了状態を示します。この例では、再起動が必要 (RebootNecessary = 1) でしたが、インストールを開始するときに /Z スイッチを指定したため、再起動されませんでした (DontReboot = 1)。

ページのトップへ ページのトップへ

付録 E A/RP エントリの標準規則

Sustained Engineering Cabinet では、A/RP レジストリ エントリの設定に関して以下の標準規則を定義しました。今後は、Microsoft のすべての Sustained Engineering チームが次の表 18 に示す標準エントリを使用します。

レジストリ値

次の表に挙げたエントリはレジストリ キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall にあります。

18: レジストリ値

レジストリ キー 値の種類 注釈

Comments

SZ

This package addresses the vulnerability documented in the Microsoft Security Bulletin MS03-026 (Microsoft セキュリティ情報 MS03-026 に記載されている脆弱性を解決します)

任意。

DisplayName

SZ

Windows XP ホットフィックス パッケージ [詳細情報は Q123456 を参照してください]

標準形式に準拠する必要があります。

DisplayVersion

SZ

1

パッケージのバージョン。

Helplink

SZ

http://support.Microsoft.com?kbid=######

NoModify

DWORD

1

[プログラムの追加と削除] に [変更] を表示しません。

NoRemove

DWORD

0

[プログラムの追加と削除] から [削除] を削除しません。

NoRepair

DWORD

1

[サポート情報] ダイアログに [修復] を表示しません。

ParentKeyName

SZ

オペレーティング システム

修正が適用されるアプリケーションの [プログラムの追加と削除] に表示されるレジストリ キー名。Windows Updateとそれ以外の更新を区別する目的にも使用されます。

ParentDisplayName

SZ

Windows Server 2003 アップデート

ParentKeyName に親キー名が設定されていない場合に、このエントリが [プログラムの追加と削除] で使用されます。必要に応じて、この名前を基に仮想エントリが作成されます。仮想エントリの作成が必要となるのは、オペレーティング システムに [プログラムの追加と削除] で使用される親キー名がない場合です。

Publisher

SZ

Microsoft Corporation

RegistryLocation

SZ

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Updates\Windows Server 2003\SP1\KB123456

追加のレジストリ キー。

ReleaseType

SZ

セキュリティ アップデート

http://support.microsoft.com/default.aspx?scid=kb;ja;824684&sd=tech に定義された標準に準拠する必要があります。

UnInstallString

SZ

C:\spuninst.exe

アンインストール プログラムのパス。

ページのトップへ ページのトップへ

付録 F 拡張リターン コード

拡張リターン コードは、インストール中に生成されるエラーについて標準のリターン コードより詳細な情報を提供することを目的としたものです。インストーラを実行するときに /ER スイッチを指定すると、拡張リターン コードが有効になります。/ER スイッチを指定した場合には、拡張リターン コードだけでなく標準リターン コードも返されます。拡張リターン コードは Q3 以降のインストーラ バージョンで使用できます (「付録 A インストーラのバージョン管理と機能」を参照してください)。

/ER スイッチを指定し、拡張リターン コードを有効にすると、「Platform SDK; System Error Codes」(英語) に記載された標準 Win32 エラーまたはインストーラ固有のリターン コードが返されます。

多くの拡張リターン コード メッセージでは、テキストの一部が実行時に挿入されます。表 19 の説明欄にメッセージを示します。実行時に挿入されるテキストは、言語、オペレーティング システムのバージョン、KB 文書番号、ディスク ドライブなどです。メッセージに挿入されるテキストがある場合、% の後に通常は数字が続いていますが、文字が続いていることもあります。この表のメッセージを読むときには、テキストの一部が抜けている場合があることを念頭に置いてください。

19: 拡張リターンコード

61442

STATUS_CHECKED_FREE_MISMATCH

%1 Setup cannot update a checked (debug) system with a free (retail) version of %2. (%1 セットアップはチェックされた (デバッグ) システムを %2 の無料 (リテール) バージョンで更新できません。)

61443

STATUS_NOT_ENOUGH_SPACE

There is not enough disk space on %%s to install %1. Setup requires a minimum of %%d additional megabytes of free space or if you also want to archive the files for uninstallation. (%%s のディスク領域が不足しているため、%1 をインストールできません。セットアップには最低 %%d MB の空き領域が必要です。アンインストール用にファイルをアーカイブする場合は、)

61444

STATUS_INSUFFICIENT_PRIVS

You do not have permission to update %1. Please contact your system administrator. (%1 を更新するために必要なアクセス許可がありません。システム管理者に問い合わせてください。)

61445

STATUS_UNKNOWN_PRODUCT_TYPE

なし

61446

STATUS_SETUP_LOG_NOT_FOUND

Setup could not find the setup.log file in your repair directory. (repair ディレクトリに setup.log ファイルがありません。)

61447

STATUS_CANT_FIND_INF

Setup could not find the update.inf file needed to update your system. (システムの更新に必要な update.inf ファイルが見つかりませんでした。)

61448

STATUS_UPDATE_SUCCESSFUL

%1 has been updated. Remove any disks from the floppy disk drives and choose OK to restart your computer. If you change or add any components to your system. (%1 は既に更新されています。フロッピー ディスク ドライブからディスクを取り出し、[OK] をクリックしてコンピュータを再起動してください。コンポーネントを変更または追加する場合は、)

61449

STATUS_UPDATE_UNSUCCESSFUL

%1 Installation did not complete. %1 (%1 のインストールを完了できませんでした。%1)

61450

STATUS_SHUTDOWN_UNSUCCESSFUL

Setup was unable to shut down system. Please shut down your system manually. (セットアップはシステムをシャットダウンできませんでした。手動でシステムをシャットダウンしてください。)

61451

STATUS_FILE_NOT_FOUND_IN_SETUP

Could not locate entry for HAL.DLL in SETUP.LOG to determine type of HAL to update. (SETUP.LOG に HAL.DLL のエントリが存在しないため、更新する HAL の種類を確認できませんでした。)

61452

STATUS_INVALID_INF_FILE

The %1 %2 file is not correct. %1 (%1 %2 ファイルが正しくありません。%1)

61453

STATUS_USER_CANCELLED

%1 Setup canceled. %1 (%1 セットアップの実行がキャンセルされました。%1)

STATUS_USER_CANCELLED

STATUS_ERROR_RUNNING_WIZARD

なし

61164

STATUS_PLATFORM_MISMATCH

This %1 is for a different hardware platform. %1 (この %1 は別のハードウェア プラットフォーム用に作成されたものです。%1)

61472

STATUS_BUILD_VERSION_MISMATCH

Setup has detected that the build version of the system installed does not match the update you are applying to it. You can only install this update only on build %d. (インストールされているシステムのビルド バージョンが適用しようとしている更新と一致しません。この更新はビルド %d のシステムにのみインストールできます。)

61473

STATUS_SP_VERSION_GREATER

Setup has detected that the Service Pack version of the system installed is newer than the update you are applying to it. You can only install this update on a computer with no Service Packs installed. (システムには適用しようとしている更新より新しいバージョンのサービス パックがインストールされています。この更新はサービス パックの存在しないシステムにのみインストールできます。)

STATUS_SP_VERSION_GREATER

STATUS_NT_VERSION_MISMATCH

なし

61474

STATUS_CANT_SPAWN_HOTFIX

%1 Setup could not start the hotfix installation program. %1 (%1 セットアップは修正プログラム インストール プログラムを開始できませんでした。%1)

61475

STATUS_CANT_FIND_TAG

%1 Setup could not locate the %2 files. %1 Service Pack/Hotfix %2 (%1 セットアップは %2 個のファイルを見つけることができませんでした。%1 Service Pack/Hotfix %2)

61476

STATUS_OVERWRITE_UNINSTALL

WARNING: You have chosen to overwrite your existing uninstall: %s If you continue (警告 : 既存のアンインストール %s を上書きします。続行する場合は、)

61477

STATUS_128BIT_VERSION_DETECTED

61478

STATUS_WININET_LOAD_FAILED

This Web-based version of Service Pack Setup requires Internet Explorer 3.0 or later. For instructions on how to download a version of the Service Pack that does not require a Web connection during installation, go to the %1 Service Pack Web site and select Problems Downloading the Service Pack. (このサービス パック セットアップの Web ベース バージョンを実行するためには、Internet Explorer 3.0 以上を使用していることが必要です。このサービス パックの Web 接続不要バージョンをダウンロードするには、%1 Service Pack Web サイトにアクセスし、[Problems Downloading the Service Pack] を選択してください。)

61479

STATUS_CANT_INSTALL_SP_ON_DTC

This %1 has not been qualified by your hardware vendor for installation on this copy of %2 Datacenter Server. Please contact your hardware vendor for additional information on obtaining a %3 that has been qualified for your system configuration. %1 Service Pack/Hotfix %2 OS %3 (この %1 は、%2 Datacenter Server へのインストールに必要なハードウェア ベンダの認定を受けていません。ハードウェア ベンダに連絡し、使用しているシステム構成に対応する %3 の入手方法を問い合わせてください。%1 Service Pack/Hotfix %2 OS %3)

61480

STATUS_NECESSARY_FILES_NOT_PRE

Not all files necessary to perform an integrated installation are present. (統合インストールを実行するために必要なファイルが不足しています。)

61481

STATUS_SPOOLER_NOT_STARTED

Cannot install %1. The Print Spooler service is not started. %1 (%1 をインストールできません。Print Spooler サービスが開始されていません。%1)

61482

STATUS_MUST_RESTART_FIRST

The system must be restarted before installing the %1 (%1 をインストールする前にシステムを再起動する必要があります。)

61483

STATUS_NOT_ENOUGH_WITH_UNINST

You do not have enough free disk space on %%s to archive the uninstall files. To install %1 with backup files for uninstall, an additional %%dMB is required. (%%s のディスク領域が不足しているため、アンインストール ファイルをアーカイブできません。%1 をインストールするときにアンインストール用のファイルをアーカイブする場合は、さらに %%dMB の空き領域が必要です。)

61484

STATUS_CANT_FIND_RSAENHS

Unable to locate RSAENHS.DLL in the update directory. (Update ディレクトリに RSAENHS.DLL がありません。)

61485

STATUS_CANT_FIND_ENCININF

Unable to locate UPDENCIN.INF in the update directory. (Update ディレクトリに UPDENCIN.INF がありません。)

61486

STATUS_CANT_FIND_ENCTSINF

Unable to locate UPDENCTS.INF in the update directory. (Update ディレクトリに UPDENCTS.INF がありません。)

61487

STATUS_ENCINST_PROCESS_FAILED

High encryption ENCINST process failed. (高レベル暗号化 ENCINST プロセスが失敗しました。)

61488

STATUS_ENCINST_UPGRADE_FAILED

High encryption upgrade failed. (高レベル暗号化のアップグレードが失敗しました。)

61530

STATUS_CANT_OPEN_LOG

Error opening %1 file svcpack.log. (%1 ファイル svcpack.log を開くときにエラーが発生しました。)

61540

STATUS_INVALID_VER_FILE

The update.ver file is not correct. (update.ver ファイルが正しくありません。)

61546

STATUS_SP_VERSION_GREATER_1

Setup has detected that the Service Pack version of the system installed is newer than the update you are applying to it. You can only install this update on Service Pack %d. (システムには適用しようとしている更新より新しいバージョンのサービス パックがインストールされています。この更新は Service Pack %d が適用されたシステムにのみインストールできます。)

61547

STATUS_SP_VERSION_GREATER_2

Setup has detected that the Service Pack version of the system installed is newer than the update you are applying to it. You can only install this update on a computer with no Service Packs installed. (システムには適用しようとしている更新より新しいバージョンのサービス パックがインストールされています。この更新はサービス パックが適用されていないコンピュータにのみインストールできます。)

61548

STATUS_FPNW_FIXUP_FAILED

Setup failed to access or correctly modify your SETUP.LOG file. (セットアップは SETUP.LOG ファイルにアクセスできなかったか、このファイルを正しく変更できませんでした。)

61549

STATUS_WRONG_PLATFORM

The version of software you are running does not match the system you are running it on. (実行しようとしたソフトウェアのバージョンがシステムのバージョンと一致しません。)

61550

STATUS_FAILURE_COPYING_FILES

Failed to completely copy all of the updated files. (更新したファイルを完全にコピーすることができませんでした。)

61551

STATUS_FAILED_TO_SET_DIR

Failed to set the directory. (ディレクトリを設定できませんでした。)

61552

STATUS_SETUP_ERROR

An error in updating your system has occurred. (システムの更新中にエラーが発生しました。)

61553

STATUS_RUNNING_DS_PREVIEW

なし

61554

STATUS_RUNNING_HYDRA

なし

61555

STATUS_RUNNING_STEELHEAD

なし

61556

STATUS_HOTFIX_ALREADY_INSTALLED

なし

61557

STATUS_SUCCESS_NOREBOOT

%1 has been updated. You must reboot for these changes to take effect. If you change or add any components to your system, you will need to reapply the Hhotfix. (%1 が更新されました。変更を有効にするためにはシステムを再起動する必要があります。コンポーネントを変更したりシステムに追加したりしたときには、この修正プログラムを適用し直す必要があります。)

61558

STATUS_SP_VERSION_LESSER

Setup has detected that the version of the Service Pack installed on your system is lower than what is necessary to apply this hotfix. At minimum, you must have Service Pack %d installed. (システムにインストールされているサービス パックは、この修正プログラムを適用するために必要なバージョンより古いバージョンです。Service Pack %d 以降のバージョンがインストールされている必要があります。)

61559

STATUS_NOT_RUNNING_STEELHEAD

なし

61560

STATUS_NO_UNINSTALL_AVAILABLE

You cannot uninstall, since an uninstall for %1 has not been created. (アンインストールできません。%1 のアンインストールが作成されていません。)

61561

STATUS_NOT_RUNNING_HYDRA

なし

61562

STATUS_SUCCESS_NOREBOOTNEC

%1 has been updated. If you change or add any components to your system, you will need to reapply the Hhotfix. (%1 が更新されました。コンポーネントを変更したりシステムに追加したりしたときには、この修正プログラムを適用し直す必要があります。)

61563

STATUS_UNINST_NOREBOOTNEC

%1 Hotfix successfully uninstalled. %1 (%1 修正プログラムをアンインストールしました。%1)

61638

STATUS_BUILD_VERSION_MISMATCH2

Setup has detected that the build version of the system installed does not match the update you are applying to it. You can only install this update only on Build %d. (システムのビルド バージョンが適用しようとしている更新と一致しません。この更新はビルド %d のシステムにのみインストールできます。)

61643

STATUS_VLK_BLOCKED

The Product Key used to install Windows is invalid. Please contact your system administrator or retailer immediately to obtain a valid Product Key. You may also contact Microsoft Corporation’s Anti-Piracy Team by emailing piracy@microsoft.com if you think you have purchased pirated Microsoft software. Please be assured that any personal information you send to the Microsoft Anti-Piracy Team will be kept in strict confidence. (Windows のインストールに使用したプロダクト キーが無効です。システム管理者または販売店に連絡し、有効なプロダクト キーを入手してください。Microsoft ソフトウェアの海賊版を購入したと思われる場合は、電子メール (emailing piracy@microsoft.com) で Microsoft Corporation の Anti-Piracy Team に問い合わせていただいても結構です。Anti-Piracy Team に送信された個人情報は厳重に管理されますので、ご安心ください。)

61644

STATUS_KERNEL_NONSTD

The core system file (kernel) used to start this computer is not a Microsoft Windows file. The Service Pack will not be installed. For more information, see Knowledge Base article %s at http://support.microsoft.com. (このコンピュータの起動に使用されたコア システム ファイル (カーネル) は Microsoft Windows ファイルではありません。このサービス パックはインストールできません。詳細については、http://support.microsoft.com の Microsoft サポート技術情報の Knowledge Base 文書 %s を参照してください。)

61663

STATUS_SP_BUILD_TO_BUILD

The build to next build install you are trying is not supported. To install the Service Pack build, you must first uninstall it. (実行しようとした既存のビルドへの次のビルドのインストールはサポートされていません。このサービス パック ビルドをインストールするためには、先に既存のビルドをアンインストールする必要があります。)

61668

STATUS_WINDOWS_VERSION_NEWER

The version of Windows you have installed is newer than the update you are trying to install. There is no need to install this update. (インストールしようとした更新より新しいバージョンの Windows がインストールされています。この更新プログラムをインストールする必要はありません。)

61669

STATUS_PACKAGE_NOT_APPLICABLE

This package does not apply to the operating system you are running. (このパッケージは、ご使用のオペレーティング システムには適用できません。)

ページのトップへ ページのトップへ