Windows Server 2003 Service Pack 2 に、サイズが大きな Windows インストーラー パッケージまたは Windows インストーラーの更新プログラム パッケージをインストールしようとすると、エラー メッセージ "エラー 1718: ファイルはデジタル署名ポリシーによって拒否されました" が表示される

現象

Windows Server 2003 Service Pack 2 を実行しているコンピューターに、サイズが大きな Microsoft Windows インストーラー (.msi) パッケージまたは Microsoft Windows インストーラーの更新プログラム (.msp) パッケージをインストールしようとすると、以下のエラー メッセージが表示されます。
エラー 1718: ファイル FileName はデジタル署名ポリシーによって拒否されました。
また、アプリケーション ログに次のイベントが記録される場合があります。

原因

この問題は、Windows インストーラー プロセスで、.msi パッケージまたは .msp パッケージが正しく署名されていることを確認するための連続仮想メモリが不足している場合に発生します。

解決方法

更新プログラムのダウンロード情報

下記のファイルは、「Microsoft ダウンロード センター」からダウンロードできます。

ダウンロード Windows Server 2003 用の更新プログラム (973825) パッケージ

ダウンロード Windows Server 2003 x64 Edition 用の更新プログラム (973825) パッケージ

ダウンロード Windows Server 2003 for Itanium-based Systems 用の更新プログラム (973825) パッケージ

マイクロソフトのサポート ファイルをダウンロードする方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、配布ファイルのウイルス チェックを行っています。配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。

必要条件

この更新プログラムを適用するには、Windows Server 2003 Service Pack 2 がインストールされている必要があります。

再起動の必要性

更新プログラムの適用後、コンピューターを再起動する必要があります。

更新プログラムの置き換えに関する情報

この更新プログラムを適用しても、他の更新プログラムが置き換えられることはありません。

ファイル情報

更新プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい更新プログラムがリリースされている可能性もあります。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。

Windows Server 2003 用の更新プログラム (KB973825)

ファイル名バージョンサイズ日付時間プラットフォームSP 要件サービス区分
Advapi32.dll5.2.3790.4555619,0082009/07/1815:58x86SP2SP2GDR
Advapi32.dll5.2.3790.4555619,0082009/07/1816:19x86SP2SP2QFE

Windows Server 2003 x64 Edition 用の更新プログラム (KB973825)

ファイル名バージョンサイズ日付時間プラットフォームSP 要件サービス区分
Advapi32.dll5.2.3790.45551,052,1602009/07/1821:45x64SP2SP2GDR
Wadvapi32.dll5.2.3790.4555619,0082009/07/1821:45x86SP2WOW
Advapi32.dll5.2.3790.45551,065,9842009/07/1816:32x64SP2SP2QFE
Wadvapi32.dll5.2.3790.4555619,0082009/07/1816:32x86SP2WOW

Windows Server 2003 for Itanium-based Systems 用の更新プログラム (KB973825)

ファイル名バージョンサイズ日付時間プラットフォームSP 要件サービス区分
Advapi32.dll5.2.3790.45551,482,7522009/07/1821:44IA-64SP2SP2GDR
Wadvapi32.dll5.2.3790.4555619,0082009/07/1821:44x86SP2WOW
Advapi32.dll5.2.3790.45551,483,7762009/07/1816:32IA-64SP2SP2QFE
Wadvapi32.dll5.2.3790.4555619,0082009/07/1816:32x86SP2WOW

回避策

重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
この問題を回避するには、PolicyScope レジストリの値を 1 に変更した後に、パッケージのインストールを試行します。これを行うには、次の手順を実行します。

: コンピューターがドメインに参加している場合には、ドメイン ポリシーの更新によって、実行したレジストリの変更が上書きされる可能性があります。コンピューターをドメインから切断した後に、次の手順を実行することを推奨します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「regedit」と入力し、[OK] をクリックします。
  2. レジストリ エディターで、次のレジストリ キーを見つけてクリックします。
    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
    : このキーを変更する前に、キーをバックアップすることをお勧めします。これを行うには、[CodeIdentifiers] を右クリックし、[エクスポート] をクリックします。コンピューター上の見つけやすい場所にファイルを保存します。
  3. PolicyScope レジストリの値を変更します。これを行うには、[PolicyScope] をダブルクリックし、設定を 0 から 1 へ変更します。
  4. レジストリ エディターを終了します。
  5. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「cmd」と入力し、[OK] をクリックして、コマンド プロンプト ウィンドウを開きます。
  6. コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
    net stop msiserver
    このコマンドは、Windows インストーラー サービスが現在バックグラウンドで実行されている場合に、このサービスを停止します。サービスが停止したら、コマンド プロンプト ウィンドウを閉じて、手順 7. に進みます。


    : コマンド プロンプトで次のメッセージが表示されたら、コマンド プロンプト ウィンドウを閉じて、手順 7. に進みます。
    Windows インストーラー サービスは開始されていません。
  7. 「現象」に記載されているエラー メッセージが表示されたときにインストールを試行していたパッケージをインストールします。
  8. パッケージをインストールしたら、手順 1. および手順 2. を繰り返します。次に、PolicyScope レジストリの値を 0 に戻します。
  9. コンピューターをドメインから切断している場合は、コンピューターをドメインに再度参加させて再起動します。

    : コンピューターをドメインから切断していない場合は、コンピューターを再起動する必要はありません。
上記の手順で問題が解決しない場合は、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「control admintools」と入力し、[OK] をクリックします。
  2. [ローカル セキュリティ ポリシー] をダブルクリックします。
  3. [ソフトウェアの制限のポリシー] をクリックします。

    : 一覧にソフトウェアの制限が表示されていない場合、[ソフトウェアの制限のポリシー] を右クリックし、[新規ポリシーの作成] をクリックします。
  4. [オブジェクトの種類] で [強制] をダブルクリックします。
  5. [ローカル管理者を除くすべてのユーザー] をクリックし、[OK] をクリックします。
  6. コンピューターを再起動します。
重要: 上記の手順の実行後は、ローカル管理者が .msi パッケージまたは .msp パッケージをインストールできます。パッケージのインストール後、上記の手順を再度実行して、強制レベルをリセットします。ただし、手順 5. では、[ローカル管理者を除くすべてのユーザー] の代わりに [すべてのユーザー] をクリックします。


注:
  • この回避策は、Active Directory ドメイン環境では機能しない場合があります。Active Directory ドメイン環境では、ドメイン ポリシーの更新操作によりローカルのソフトウェアの制限のポリシーが上書きされます。
  • コンピューターに RAM を追加しても、問題は解決されません。

詳細

Windows XP からは、ユーザーが安全でないファイルを実行しないように、ソフトウェアの制限のポリシーという名前のセキュリティ ポリシー (別名 SAFER) が導入されました。Windows インストーラーは、ソフトウェアの制限のポリシーを使用して、署名された .msi パッケージ ファイルおよび署名された .msp パッケージ ファイルの署名を検証します。Windows インストーラーがこのように動作するのは、ファイルがコンピューターにインストールされる前に、ファイルが改ざんされていないことを確認するためです。Windows XP および Windows Server 2003 では、.msi パッケージ ファイル全体または .msp パッケージ ファイル全体が、Windows インストーラー プロセスのアドレス空間の 1 つの連続メモリに読み込まれる必要があります。


.msi パッケージ ファイルまたは .msp パッケージ ファイルのサイズが大きすぎて連続した仮想メモリに入り切らない場合、Windows インストーラーはパッケージが正常であることを確認できません。この場合、「現象」に記載されている現象が発生します。この資料に記載されている修正により、ソフトウェアの制限のポリシーは、少ない仮想メモリを使用して署名の検証を実行することができます。そのため、Windows インストーラーは任意のサイズのファイルを検証できます。
プロパティ

文書番号:973825 - 最終更新日: 2009/08/20 - リビジョン: 1

フィードバック