現在オフラインです。再接続するためにインターネットの接続を待っています

不足している Windows インストーラー キャッシュ ファイルを復元して、SQL Server の更新時に発生する問題を解決する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

969052
現象
この資料に記載されているプロセスだけ緊急のレリーフとない恒久的な修正プログラムを提供します。この緊急時の手順を使用しているお客様の KB 資料の指示に従って、Windows インストーラーのキャッシュ検証パッケージを使用して、Windows インストーラーのキャッシュを検証する必要があります。 2667628.

Microsoft SQL Server のサービス パックまたは累積的な更新をインストールしようとして、次のエラー メッセージが発生する可能性がありますれる Windows インストーラーのキャッシュの問題があります。アプリケーションのファイルを Windows インストーラー テクノロジを使用してインストールおよび削除してはいけない重要なc:\windows\installerフォルダーに、Windows インストーラーのキャッシュを格納します。インストーラーのキャッシュが侵害されている場合は、アンインストール、修復、または SQL Server の更新などの操作を行うまで、「問題の直後にない可能性があります。

SQL Server をインストールするときに theWindows インストーラー (デフォルトは C:\Windows\Installer) Windows インストーラーのキャッシュ内で重要なファイルを格納します。これらのファイルは、アンインストールして、アプリケーションの更新のために必要です。一意であるため、コンピューター間でファイルをコピーできません。

SQL Server のインストールの最初を使用することを現在インストールされていることを確認するには、次の資料に記載されている、修復処理をお勧めします。
注: <b>次のエラー メッセージはテキスト形式のメッセージとしてイベント ログまたはセットアップ ログは、次のフォルダーのいずれかであると進むされている影響を受けるインスタンスを修復する必要があることを示します。
  • SQL Server 2008 SQL Server 2008 R2 の。
    C:\Program ファイル SQL Server\100\Setup のブートス トラップ
  • SQL Server 2012年: の
    C:\Program ファイル SQL Server\110\Setup のブートス トラップ
SQL 2005 (すべての分岐)
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2005
1636 Windows インストーラーの MSI ファイルをインストールできません。
1636 Windows インストーラー MSP ファイルをインストールできません。
注:キャッシュ ファイルが不足しているかどうかを特定するには、セットアップ ログ ファイルを確認する必要があります。これを行う方法の詳細については、「解決方法」セクションを参照していますください。

SQL Server 2008 SP1 の
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2008 SP1エラー メッセージはありません。
タイトル: SQL Server のセットアップに失敗しました。
------------------------------
SQL Server セットアップでは、次のエラーが発生しました: 修正プログラム ファイルを開くことができません。ファイル: c:\WINNT\Installer\1cf506f.msp。エラー コードは 0x84B20001 です。
------------------------------
SQL Server 2008 SP3 ビルドのみの (CU と GDR ブランチは適用されません)
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2008 SP3
キャッシュされた MSI ファイル 'C:\Windows\Installer\2775c8.msi' が見つかりません。元のファイルが 'sql_engine_core_inst.msi' とは、製品のインストールされている 'Microsoft SQL Server 2008年データベース エンジン サービス' から '<network path="">'、'10.3.5500.0'、'英語' の言語のバージョンです</network>。
キャッシュされた更新プログラム ファイルの"C:\Windows\Installer\19b19196.msp"が見つかりません。このキャッシュされたファイルの元のファイルは「sql_engine_core_inst.msp」、「Service Pack 3 の SQL Server 2008 (KB2546951) (64 ビット)」、バージョン 10.3.5500.0 からインストールできます。
注: <b>アップグレードを実行するときに、次のエラー メッセージ表示されます。
SQL Server のエラー

SQL server 2008 R2 SP1 のみ (CU と GDR ブランチは適用されません)
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2008 R2 SP1
タイトル: SQL Server のセットアップに失敗しました。
------------------------------
SQL Server セットアップでは、次のエラーが発生しました: C:\Windows\Installer\932b909.msi。
------------------------------
キャッシュされた更新プログラム ファイルの"C:\Windows\Installer\105441.msp"が見つかりません。このキャッシュされたファイルの元のファイルは「sql_engine_core_inst_loc.msp」、「Service Pack 1 SQL Server 2008 R2 の (KB2528583) (64 ビット)] からインストールできるバージョン 10.51.2500.0 です。
注: <b>アップグレードを実行するときに、次のエラー メッセージ表示されます。
SQL Server のエラー

SQL Server 2008 R2 SP2 を
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2008 R2 SP1
キャッシュされた MSI ファイル 'C:\Windows\Installer\932b909.msi' が見つかりません。元のファイルが 'sql_engine_core_inst.msi' とは、製品のインストールされている 'SQL Server 2008 R2 SP1 データベース エンジン サービス' から '<network path="">'、'10.51.2500.0'、'英語' の言語のバージョンです</network>。
キャッシュされた更新プログラム ファイルの"C:\Windows\Installer\105441.msp"が見つかりません。このキャッシュされたファイルの元のファイルは「sql_engine_core_inst_loc.msp」、「Service Pack 1 SQL Server 2008 R2 の (KB2528583) (64 ビット)] からインストールできるバージョン 10.51.2500.0 です。
注: <b>アップグレードを実行するときに、次のエラー メッセージ表示されます。
SQL Server のエラー

CU2 の前に、SQL Server 2012年の
MSP、または MSI ファイルが見つからないため、メッセージはありません。ただし、エラー コード 1714年はセットアップ ログに記録されます。

Summary.txt ファイル。
コンポーネント名: SQL Server のセットアップ サポート ファイル
コンポーネントのエラー コード: 1714年

Detail.txt ファイル。
<Date><Time>Slp: Sco: ファイル 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' が存在しません
<Date><Time>Slp: Sco: ファイル 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' が存在しません
<Date><Time>Slp: チェックポイント: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>Slp: Sco: レジストリの基本キー HKEY_LOCAL_MACHINE を作成するマシン<Server name="">
<Date><Time>Slp: Sco: レジストリ サブキー Software\Microsoft\Windows\CurrentVersion\Installer を開くしようとしています。
<Date><Time>Slp: Sco: レジストリ値 InstallerLocation を取得しようとしています。
<Date><Time>Slp: Windows インストーラーのバージョン: 5.0.7601.17514
<Date><Time>Slp: Sco: 停止要求を受け付けるには 'サービス 'msiserver を待っています。
<Date><Time>Slp: Sco: SC マネージャーを起動しようとしています。
<Date><Time>Slp: Sco: サービス msiserver のサービス ハンドルを開くしようとしています。
<Date><Time>Slp: QueryServiceStatus Win32 API の呼び出し
<Date><Time>Slp: Sco: サービス msiserver のサービス ハンドルを閉じるしようとしています。
<Date><Time>Slp: Sco: SC マネージャーを終了しようとしています。
<Date><Time>Slp: ターゲット パッケージ:「d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi」
<Date><Time>Slp: MSI エラー: 1714 の以前のバージョンの Microsoft SQL Server 2012年のセットアップ (英語) を削除することはできません。テクニカル サポート グループに問い合わせてください。
<Date><Time>Slp: InstallPackage: MsiInstallProduct の返される結果コード 1603年です。
<Date><Time>Slp: MSI エラー コードを使用して検出の再試行オプション: 1714年
<Date><Time>Slp: 再試行可能な MSI 返さないコードが検出されました。</Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Server></Time></Date></Time></Date></Time></Date></Time></Date>

SQL Server 2012 CU2 および任意以降 CU (SP) の
製品のバージョンインストーラー パッケージ (msi ファイル) が存在しない場合、エラー メッセージキャッシュ インストーラー パッケージ (MSP) が欠落しているときにエラー メッセージ
SQL Server 2008 R2 SP1
キャッシュされた MSI ファイル 'C:\Windows\Installer\<file_encoded_name>.msi' がありません。元のファイルは 'C:\Windows\Installer\sql_<featurename>.msi'}' 製品用にインストールされていると 'Microsoft SQL Server <version>' から 'C:\originalfolder'、バージョン '<versionnumber>'、言語'<language>' です</language></versionnumber></version></featurename></file_encoded_name>。
キャッシュされた更新プログラム ファイルの"c:\Windows\Installer\1fdb1aec.msp"が見つかりません。元のファイルは「sql_engine_core_inst.msp」、「修正プログラム 2316 の SQL Server 2012 (KB2679368) (64 ビット)」、バージョン 11.00.2100.60.The のキャッシュされた更新プログラム ファイルからインストールできる「C:\Windows\Installer\<file_encoded_name>.msp' がありません。元のファイルは 'C:\Windows\Installer\sql_<featurename>.msp'}' からインストールすることができます' 修正プログラム<number>SQL Server 2012年の<KB number="">'、バージョン '<versionnumber>' です</versionnumber></KB></number></featurename></file_encoded_name>。
注: <b>SQL Server 2012年での特定の条件下と RTM メディアが正しく登録されていません。累積的な更新や service pack をアンインストールすると、このような状況下でセットアップ可能性がありますを求める RTM メディア。この問題を回避するには、修正プログラムの削除処理中に RTM メディアのパスを提供します。
原因
これらの問題は、Windows インストーラー キャッシュから Windows インストーラー データベース ファイル (.msi) または Windows インストーラー修正プログラム ファイル (.msp) が見つからない場合に発生します。Windows インストーラーのキャッシュは、次のフォルダーにあります。
%windir%\installer
Windows インストーラーを使用して、製品をインストールするときにした省略バージョン、元の .msi ファイルは、Windows インストーラーのキャッシュ内に格納されます。すべての更新プログラム、修正プログラム、累積的な更新、service pack のセットアップなどの製品には、Windows インストーラーのキャッシュ内関連する .msp の .msi ファイルも格納されます。

修正プログラムや累積的な更新、service pack のセットアップ プログラムは、製品の将来の更新は、Windows インストーラーのキャッシュに格納されているファイル内の情報に依存します。この情報がなければ、新しい更新プログラムは、必要な変換を実行できません。
解決方法
これらの問題を解決するのには、次の手順のいずれかを使用します。

手順 1: スクリプトを使用してください。

この手順を完了するにコピーする必要は FindSQLInstalls.vbs スクリプト SQL Server のインストールを更新しようとして、コンピューター上のローカル フォルダーに、「関連情報」セクション。

注: <b>FindSQLInstalls.vbs スクリプトは、無効なパッケージ パスを解決する情報を収集します。このスクリプトはすべての MSP パッケージが、Windows インストーラーのキャッシュ ディレクトリにあるかどうかを確認するには、ソースの場所を使用します。不足しているパッケージは、元のメディアが利用可能な場合は再度追加されます。

これらの問題を解決するには、スクリプトを使用して、以下の手順を実行します。
  1. スクリプトのコンテンツを保存したディレクトリを探します。
  2. スクリプトを保存したディレクトリに管理者特権のコマンド プロンプトを開き、次のコマンドを実行します。
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. メモ帳などのテキスト エディターで手順 2 からファイルを開くし、障害の原因となっている問題を特定します。これには、文字列のパターンは次のように、テキスト ファイルを検索します。
    • しません。
    • !!!
  4. 手順 3 での結果に基づき、必要な手順がかかります。

    注: <b>詳細については、「例」セクションで手順を確認します。

  5. 手順 2 ~ 4 を繰り返して、手順 2 で作成されるテキスト ファイルには無効なパスまたは更新されるコンポーネントの不足しているファイルを参照するテキストが含まれない。

次の例は、エントリと FindSQLInstalls.vbs スクリプトを実行するときに生成される出力ファイルに記載されている操作の説明です。

例 1: 不足しているインストーラーのファイル
Windows インストーラー キャッシュ フォルダーには、.msi パッケージが足りないときに生成される出力の例を次に示します。
================================================================================PRODUCT NAME   : Microsoft SQL Server 2008 Database Engine Services================================================================================  Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}  Version     : 10.2.4000.0  Most Current Install Date: 20110211  Target Install Location:   Registry Path:    HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList     Package    : sql_engine_core_inst.msi  Install Source: \x64\setup\sql_engine_core_inst_msi\  LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

「ソース」行は、セットアップ プログラムを実行するに使用された場所をポイントします。

「ソース」の行でm;エントリはメディアを示し、元の CD または DVD メディアを示します。

次の例では、ソースが、CD または DVD ドライブ G. です。ファイル フォルダーまたはネットワーク共有では、 nは、エントリから始まります「ソース」からのインストールが発生した場合の後に、 Numeric_Data_Nameのエントリ、し、実際のパス。
!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!! Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\ 

[操作の必要な] 行には、元のインストール メディアの不足しているファイルを更新するために必要な完全なパス。
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

インストーラー キャッシュ ファイル] 行には、インストーラーのキャッシュ ファイルの名前を確認します。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

出力の次のセクションでは、見つからないファイルを解決するために必要なアクションのされたら。
 Action needed, recreate or re-establish path to the directory:     G:\x64\setup\sql_engine_core_inst_msi\then rerun this script to update installer cache and results     The path on the line above must exist at the root location to resolve     this problem with your msi/msp file not being found or corrupted,     In some cases you may need to manually copy the missing file or manually     replace the problem file overwriting it is exist:       Copy "G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi" C:\WINDOWS\Installer\19b4d2.msi      Replace the existing file if prompted to do so.
例 2: 未適用の修正プログラム
例 1 のようなエントリでは、未適用の修正プログラム可能性があります。ほとんどの場合、「修正プログラムのソース」の行に、修正プログラムを参照するエントリが表示され、この行は、次のましょう。
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

この出力は、修正プログラムのインストールについては、次を示します。
  • この修正プログラムの実行可能ファイルをダブルクリックして、元の修正プログラムがインストールされました。
  • 修正プログラムのインストーラーは、修正プログラムのインストール中に、temp フォルダーを c:\0ca91e857a4f12dd390f0821a3 を使用します。
  • パスを再作成するのには、同じ実行可能ファイルを実行して、次のパラメーターを追加する必要があります。
    /x:c:\0ca91e857a4f12dd390f0821a3
    注: <b>このコマンドは、前の不足している場所にファイルを抽出する実行可能ファイルを実行し、この不足しているファイルと Windows インストーラーのキャッシュを更新するために必要な構造が再作成されます。実際の場所は異なりますが、および 1 つのパッチ、サービス パックなどの複数の場所に抽出する必要があります。インストールされている各製品には「修正プログラムのインストール」に次の情報が含まれるセクションにはが含まれます。
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    "KB 記事 URL"行ことができます、どの修正プログラム メディアをダウンロードするこれが必要な場合。

手順 2: ファイルを手動で復元します。

Windows インストーラー キャッシュから欠落しているファイルを手動で復元するには以下の手順を実行します。
  1. エラー メッセージ、セットアップ ログ ファイル、またはレジストリ エントリ、Windows インストーラーによって管理されるから失われたファイルの完全な詳細を収集します。たとえば、「現象」に記載エラー メッセージ 1、問題を解決するために必要なすべての情報は、エラー メッセージに表示。
    • PatchName:「1702年の修正プログラムの SQL Server 2008 R2 (KB981355) (64 ビット)」
    • 元の MSP ファイルのパッチで使用される: sql_engine_core_inst.msp
    • キャッシュされた MSP ファイル: c:\Windows\Installer\1fdb1aec.msp
  2. すべての詳細があるない場合を参照して、「手順 2」のこれらの詳細情報を収集する手順の詳細については。
  3. 参照してください。 http://support.microsoft.com、この修正プログラムに関連付けられている KB の記事を検索します。この例では KB981355 を検索する必要があります。
  4. コンピューターにこの修正プログラム パッケージをダウンロードします。必要なプラットフォームに対応する修正プログラム パッケージをダウンロードすることを確認します。この例では、パッケージは SQLServer2008R2-KB981355-x64.exe です。
  5. 次の構文を使用して、修正プログラム パッケージの内容を抽出します。
    C:\Temp>SQLServer2008R2-KB981355-x64.exe/x C:\Temp\SQLServer2008R2-KB981355-x64\
  6. 元の msp ファイルの sql_engine_core_inst.msp ファイルを探します。次のフォルダーにファイルをする必要があります。
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. 次の Windows インストーラーのキャッシュにこの元の msp ファイルをコピーします。
    %windir%\installer\
  8. 次の名前に sql_engine_core_inst.msp を元の msp ファイルの名前を変更します。
    キャッシュされた msp ファイル 1fdb1aec.msp

エラーが発生している更新プログラムのセットアップ プログラムを起動し、更新処理を再開できます。このメッセージは、不足している Windows インストーラー キャッシュ ファイル、同じ製品の別の更新プログラムまたは別のコンポーネントにする必要があります。

すべての不足している Windows インストーラー キャッシュ ファイルに関連する SQL Server の製品のコンポーネントの一覧を取得するには、「関連情報」セクションに記載されている SQL Server の 2008 R2 BPA ツールをダウンロードできます。 します

エラー メッセージは、不足している Windows インストーラー データベース ファイル (.msi) を参照する場合は、手順 2 ~ 4 を実行する必要はありません。代わりに、手順 5 に直接移動できます。製品のインストールに使用した元のメディアから .msi を検索するがあります。Sql_engine_core_inst.msi のこのエラー メッセージが生成された場合は、次のフォルダー構造の下には、セットアップ メディアからファイルを検索するがあります。
\x64\setup\sql_engine_core_inst_msi\
その他の手順は同じです。

詳細については、手順 2

.Msp ファイルがないため、修正プログラム パッケージと、製品の詳細を検索する方法
製品の異なるバージョンではこの問題のさまざまなエラー メッセージを生成します。Microsoft SQL Server 2008年の sp1 以降の更新プログラムのセットアップ プログラムで、「現象」に記載されているエラー メッセージが表示されます。他の更新プログラムが指定されていない明確に Windows インストーラー キャッシュから特定の更新プログラムの詳細は、修正プログラム ファイルが見つかりませんエラー メッセージが表示されます。これらのエラー メッセージがセットアップ ログ ファイルは、不足している Windows インストーラー キャッシュ ファイルに関する情報が含まれます。セットアップ ログのサンプルは、次のようになります。
MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037 MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635This patch package could not be opened.  Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

このセットアップ ログを慎重に調べる場合は、既にできます、次の修正プログラムで使用されていた元の MSP ファイルについての情報。
sqlrun_sql.msp


詳細については、Windows インストーラーのキャッシュ内の不足している、.msp ファイルを検索するには、以下の手順を実行します。
  1. Windows インストーラーの修正プログラムの次のレジストリ サブキーに存在しない、.msp ファイルを検索します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. 更新プログラムの GUID を検索します。
  3. Windows インストーラー製品の次のレジストリ サブキーには、修正プログラム GUID を検索します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
セットアップ ログのサンプルを必要な .msp ファイルとその対応する修正プログラムの詳細については、次のレジストリ エントリ内に存在。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44

値: 0
名前: LocalPackage
データ: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
値: 6
名前: DisplayName
SQL Server データベース サービス 2005 ENU (KB932555) のデータ: GDR 2050

これで、Windows インストーラーのキャッシュ内で見つからないファイルを解決するのには、手順を開始するすべての情報のポイントがあります。

注: <b>Microsoft SQL Server 2008 Service Pack 3 (SP3) またはそれ以降のバージョンを使用する場合は、不足している .msi ファイルの同様のエラー メッセージも受信できます。このエラー メッセージを使用すると、ファイルが不足して、サービス パックをダウンロードして、ダウンロードを入手できる場所をすばやく確認できます。

サービス パックの入手方法の詳細については、マイクロソフト サポート技術資料を参照する次の文書番号をクリックしてください。
2546951 SQL Server 2008 Service Pack 3 ので修正されるバグの一覧

詳細
Windows インストーラー (.msi) のデータベース ファイルの詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。Windows インストーラーの修正プログラム (.msp ファイル) のファイルの詳細については、次の MSDN web サイトを参照してください。内部の詳細について、Windows インストーラーのキャッシュの詳細については、次の MSDN ブログを参照してください。更新プログラムのプロセスの詳細については、次の MSDN ブログを参照してください。適切なプラットフォーム用の修正プログラム ファイルをキャッシュするかどうかを確認する方法の詳細については、次の MSDN ブログを参照してください。Windows インストーラーを使用するすべての製品がこの問題が発生する理由についての詳細については、次の MSDN ブログを参照してください。セットアップ ログ ファイルに表示されるエラー メッセージの別のセットの詳細については、次の MSDN ブログを参照してください。

製品または SQL Server 製品のバージョンでは、SQL Server のインスタンスには、この条件を自動的に確認するツールの詳細については、次の表を参照してください。
ルールのソフトウェアルールのタイトル仕訳ルールの説明ルールが評価される対象となる製品のバージョンです。
SQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA)-インストーラーのキャッシュの設定がありません、SQL のインストールSQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA) は、SQL Server コンポーネントの不足しているインストーラーのキャッシュ ファイルを検出するルールを提供します。SQL Server 2008 R2 BPA は、SQL Server 2008 と SQL Server 2008 R2 の両方をサポートします。BPA ツールを実行して、セットアップのタイトルでエラーが発生する場合は、インストーラーのキャッシュが、SQL のインストールのために不足しているとキャッシュ ファイルは、キャッシュ フォルダーから不足しているし。SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 のベスト プラクティス アナライザー (SQL Server 2012 BPA)-インストーラーのキャッシュの設定がありません、SQL のインストールSQL Server 2012年ベスト プラクティス アナライザー (SQL Server 2012 BPA) は、SQL Server コンポーネントの不足しているインストーラーのキャッシュ ファイルを検出するルールを提供します。BPA ツールを実行して、セットアップのタイトルでエラーが発生する場合は、インストーラーのキャッシュが、SQL のインストールのために不足しているとキャッシュ ファイルは、キャッシュ フォルダーから不足しているし。SQL Server 2012



FindSQLInstalls.vbs スクリプト

' Copyright © Microsoft Corporation.  All Rights Reserved.' This code released under the terms of the ' Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)  On Error Resume Next Dim arrSubKeys, arrSubKeys2Dim objFSO, objShell, objFile, objReg, objConn, objExecDim strComputer, strKeyPath, strNewSourceDim strWorkstationName, strDBPath, strSubKey, strSubKey2(), strKeyPath02,  strRetValue00Dim strRetValue01, strRetValue02, strRetValNew02, strRetValNew03, strRetValNew04, strRetValNew05, strRetValNew06, strRetValNew07, strRetValNew08, strRetValNew09, strRetValue10, strRetValNew10, strRetValNew11, strRetValNew12, strRetValNew13, strRetValNew14, strRetValNew14a, strRetValNew14b, strRetValNew15, strRetValNew15a, strRetValNew15b, strRetValNew16, strRetValNew17, strRetValNew18 Const HKCR = &H80000000 'HKEY_CLASSES_ROOTConst HKLM = &H80000002 'HKEY_LOCAL_MACHINEConst ForReading = 1, ForWriting = 2, ForAppEnding = 8 ' Checking for Elevated permissionsDim oShell, oExecszStdOutszStdOut = ""Set oShell = CreateObject("WScript.Shell")Set oExec = oShell.Exec("whoami /groups") Do While (oExec.Status = cnWshRunning)    WScript.Sleep 100       if not oExec.StdOut.AtEndOfStream Then                szStdOut = szStdOut & oExec.StdOut.ReadAll       end IfLoop select case oExec.ExitCode   case 0       if not oExec.StdOut.AtEndOfStream Then           szStdOut = szStdOut & oExec.StdOut.ReadAll       End If       If instr(szStdOut,"Mandatory Label\High Mandatory Level") Then                wscript.echo "Elevated, executing script and gathering requested data"       Else           if instr(szStdOut,"Mandatory Label\Medium Mandatory Level")  Then          Wscript.echo "Not Elevated must run from Administrative commmand line."       Else          Wscript.echo "Gathering requested data..."           end If      End If   case Else       if not oExec.StdErr.AtEndOfStream Then          wscript.echo oExec.StdErr.ReadAll       end If       end select '' Leaving strNewSource will result in no search path updating.' Currently DO NOT EDIT these.strNewSource = ""strNewRTMSource = "" ' Define string valuesstrComputer = "."strSQLName = "SQL"strDotNetName = ".NET"strVStudioName = "Visual Studio"strXML = "XML"strOWC = "Microsoft Office 2003 Web Components"strKeyPath = "Installer\Products"strKeyPath2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"strNValue00 = "ProductName"strNValue01 = "PackageName"strNValue02 = "LastUsedSource"strNValue03 = "InstallSource"strNValue04 = "LocalPackage"strNValue05 = "DisplayVersion"strNValue06 = "InstallDate"strNValue07 = "UninstallString"strNValue08 = "PackageCode"strNValue09 = "MediaPackage"strNValue10 = "InstallSource"strNValue11 = "AllPatches"strNValue12 = "NoRepair"strNValue13 = "MoreInfoURL"strNValue14 = "PackageName"strNValue15 = "LastUsedSource"strNValue16 = "Uninstallable"strNValue17 = "DisplayName"strNValue18 = "Installed" If WScript.arguments.count <> 1 Then   WScript.echo "Usage: cscript " & WScript.scriptname & " outputfilename.txt"   WScript.quitEnd If '--Setup the output fileSet fso = CreateObject("Scripting.FileSystemObject")Set txtFile = fso.OpenTextFile(WScript.arguments(0), ForWriting, True)If err.number <> 0 Then    WScript.echo "Error 0x" & myHex(err.number,8) & ": " & err.source & " - " & err.description    WScript.quitEnd If txtFile.writeline "Products installed on the local system"txtFile.writeline " "txtFile.writeline " "  Set objFSO = CreateObject("Scripting.FileSystemObject")Set objShell = WScript.CreateObject("WScript.Shell") '--Set up the registry provider.Set objReg = GetObject("winmgmts:\\" & strComputer & _"\root\default:StdRegProv") Set wiInstaller = CreateObject("WindowsInstaller.Installer") '--Enumerate the "installer\products" key on HKCRobjReg.EnumKey HKCR, strKeyPath, arrSubKeys For Each strSubKey In arrSubKeys ' Define the various registry pathsstrProduct01 = "Installer\Products\" & strSubKeystrKeyPath02 = "Installer\Products\" & strSubKey & "\SourceList"strKeyPath03 = "Installer\Products\" & strSubKey & "\SourceList\Media"strInstallSource = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\InstallProperties\"strInstallSource2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\patches\"strInstallSource3 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches"strInstallSource5 = "SOFTWARE\Classes\Installer\Patches\"strInstallSource6 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"strInstallSource7 = "SOFTWARE\Microsoft\Microsoft SQL Server\"strInstallSource8 = "SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\" ' Pull the intial valuesobjReg.GetStringValue HKCR, strProduct01, strNValue00, strRetValue00objReg.GetStringValue HKCR, strKeyPath02, strNValue01, strRetValue01objReg.GetStringValue HKCR, strKeyPath02, strNValue02, strRetValue02strRetValNew02 = Mid(strRetValue02, 5)objReg.GetStringValue HKCR, strKeyPath03, strNValue09, strRetValue09strRetValue10 = strNewRTMSource & strRetValue09objReg.GetStringValue HKLM, strInstallSource, strNValue03, strRetValNew03objReg.GetStringValue HKLM, strInstallSource, strNValue04, strRetValNew04objReg.GetStringValue HKLM, strInstallSource, strNValue05, strRetValNew05objReg.GetStringValue HKLM, strInstallSource, strNValue06, strRetValNew06objReg.GetStringValue HKLM, strInstallSource, strNValue07, strRetValNew07objReg.GetStringValue HKLM, strInstallSource, strNValue10, strRetValNew10objReg.GetStringValue HKLM, strInstallSource, strNValue12, strRetValNew12objReg.GetStringValue HKLM, strInstallSource, strNValue13, strRetValNew13objReg.GetStringValue HKLM, strInstallSource2, strNValue11, strRetValNew11 ' Pull the Product Code from the Uninstall StringstrProdCode = strRetValNew07  ProdCodeLen = Len(strProdCode)  ProdCodeLen = ProdCodeLen - 14strRetValNew08 = Right(strProdCode, ProdCodeLen) ' Pull out path from LastUsedSourcestrGetRealPath = strRetValue02  GetRealPath = Len(strRetValue02)strRealPath = Mid(strRetValue02, 5, GetRealPath) ' Identifie the string in the ProductNameIf instr(1, strRetValue00, strSQLName, 1) Then' Start the log output    txtFile.writeline "================================================================================"    txtFile.writeline "PRODUCT NAME   : " & strRetValue00    txtFile.writeline "================================================================================"    txtFile.writeline "  Product Code: " & strRetValNew08    txtFile.writeline "  Version     : " & strRetValNew05    txtFile.writeline "  Most Current Install Date: " & strRetValNew06    txtFile.writeline "  Target Install Location: "  & strRetValNew13    txtFile.writeline "  Registry Path: "    txtFile.writeline "   HKEY_CLASSES_ROOT\" & strKeyPath02    txtFile.writeline "     Package    : " & strRetValue01    txtFile.writeline "  Install Source: " & strRetValue10    txtFile.writeline "  LastUsedSource: " & strRetValue02'   txtFile.writeline "Does this file on this path exist? " & strRetValNew02 & "\" & strRetValue01    If fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then    txtFile.writeline  " "        txtFile.writeline "    " & strRetValue01 & " exists on the LastUsedSource path, no actions needed."    Else        txtFile.writeline " "        txtFile.writeline " !!!! " & strRetValue01 & " DOES NOT exist on the path in the path " & strRealPath & " !!!!"        txtFile.writeline " "        txtFile.writeline " Action needed, re-establish the path to " & strRealPath' Placeholder for altering the LastUsedSource by adding source location and Forcing search of list'        If strNewSource <> "" Then'        txtFile.writeline "      New Install Source Path Added: " & strNewSource'        wiInstaller.AddSource strRetValNew08, "", strNewSource'        Else'        If strNewRTMSource <> "" Then'        wiInstaller.AddSource strRetValNew08, "", strNewRTMSource'        txtFile.writeline "      Forcing SourceList Resolution For: " & strRetValNew08'        wiInstaller.ForceSourceListResolution strRetValNew08, ""'        End If'        End If    End If        txtFile.writeline " "        txtFile.writeline "Installer Cache File: " & strRetValNew04    If fso.fileexists(strRetValNew04) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Any missing packages will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValNew04 & " or " & strRealPath & strRetValue01 & " then you"        txtFile.writeline "    may need to manually copy the file, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt:"        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "    ElseIf fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then              fso.CopyFile strRetValNew02 & "\" & strRetValue01, strRetValNew04        If fso.fileexists(strRetValNew04) Then          txtFile.writeline " "          txtFile.writeline "     Missing cache file replaced by copying " & strRealPath  & strRetValue01 & " to " & strRetValNew04          txtFile.writeline "     Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "        End If    Else        txtFile.writeline " "        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " !!!! " & strRetValNew04 & " DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRealPath & "then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy the missing file or manually"        txtFile.writeline "     replace the problem file overwriting it is exist: "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "    End If    txtFile.writeline " "    txtFile.writeline strRetValue00 & " Patches Installed "    txtFile.writeline "--------------------------------------------------------------------------------"     err.clear    objReg.EnumKey HKLM, strInstallSource2, arrSubKeys2    uUpperBounds = UBound(arrSubKeys2,1)     If err.number = 0  Then        For Each strSubKey2 in arrSubKeys2    '    WScript.echo "value = " & strSubKey2 strKeyPath04 = "Installer\Patches\" & strSubKey2 & "\SourceList"      objReg.GetDWORDValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue16, strRetValue16     objReg.GetStringValue HKCR, strKeyPath04, strNValue15, strRetValue15a     objReg.GetStringValue HKCR, strKeyPath04, strNValue14, strRetValue14a     objReg.GetStringValue HKCR, strKeyPath02, strNValue15, strRetValue15b     objReg.GetStringValue HKCR, strKeyPath02, strNValue14, strRetValue14b     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue17, strRetValue17     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue18, strRetValue18     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue13, strRetValue13a     objReg.GetStringValue HKLM, strInstallSource3 & "\" & strSubKey2 & "\", strNValue04, strRetValue04a ' Pull the URL from the MoreInfoURL StringstrMoreInfoURL = strRetValue13a  MoreInfoURLLen = Len(strMoreInfoURL)strRetValue13b = Right(strMoreInfoURL, 42) ' Pull the URL from the LastUsedPath StringstrLastUsedPath = strRetValue15a  LastUsedPathLen = Len(strLastUsedPath)  'LastUsedPathLen = LastUsedPathLen - 15strRetValue15c = Mid(strLastUsedPath, 5)       txtFile.writeline " Display Name:    " & strRetValue17       txtFile.writeline " KB Article URL:  " & strRetValue13b      txtFile.writeline " Install Date:    " & strRetValue18               txtFile.writeline "   Uninstallable:   " & strRetValue16       txtfile.writeline " Patch Details: "      txtFile.writeline "   HKEY_CLASSES_ROOT\Installer\Patches\" & strSubKey2              txtFile.writeline "   PackageName:   " & strRetValue14a' Determine if someone has modified the Uninstallable state from 0 to 1 allowing possible unexpected uninstalls              txtFile.writeline "    Patch LastUsedSource: " & strRetValue15a               txtFile.writeline "   Installer Cache File Path:     " & strRetValue04a         txtFile.writeline "     Per " & strInstallSource3 & "\" & strSubKey2 & "\" & strNValue04              mspFileName = (strRetValue15c  & strRetValue14a)      If strRetValue14a <> "" Then      If fso.fileexists(strRetValue04a) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Package will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValue04a & " or " & strRetValue15c  & strRetValue14a & " then you"        txtFile.writeline "    may need to manually copy missing files, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt."        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "      ElseIf fso.fileexists(mspFileName) Then              fso.CopyFile mspFileName, strRetValue04a          If fso.fileexists(strRetValue04a) Then          txtFile.writeline " "          txtFile.writeline " Missing cache file replaced by copying " & strRetValue15c  & strRetValue14a & " to " & strRetValue04a          txtFile.writeline " Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "          End If'        End If      Else        txtFile.writeline " "        txtFile.writeline "!!!! " & strRetValue04a & " package DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRetValue15c & " then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy missing files or manually"        txtFile.writeline "     replace the problem file, "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "        txtFile.writeline "     Use the following URL to assist with downloading the patch:"        txtFile.writeline "      " & strRetValue13b        txtFile.writeline " "        txtFile.writeline " "      End If       Else        txtFile.writeline " "     End If        next     Else        txtfile.writeline " "        txtfile.Writeline "  No Patches Found"        txtfile.writeline " "    End If     End If  NexttxtFile.CloseSet txtFile = NothingSet fso = Nothing

警告: この資料は、自動翻訳されています

プロパティ

文書番号:969052 - 最終更新日: 03/19/2015 20:45:00 - リビジョン: 14.0

  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Evaluation Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • kbtshoot kbexpertiseinter kbprb kbsurveynew kbmt KB969052 KbMtja
フィードバック