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

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

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

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

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

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

SQL Server のインストールの最初を使用すること、現在インストールされていることを確認するのには以下の資料に記載されている修復処理をお勧めします。

次のコマンドラインを使用して、元のインストール メディアから、修復を実行する必要があります。

setup.exe /ACTION=REPAIR /INDICATEPROGRESS=TRUE

最初に、共通の共有コンポーネントと機能を修復し、インストールされているインスタンスを修復するためのコマンドを繰り返します。修復処理中に、[セットアップ] ダイアログ ボックスが消えます。進行状況ウィンドウにエラーが表示されない限りは、期待どおりに修復処理が進行中です。

<b>または、次のフォルダーのいずれかにあるセットアップ ログにイベント ログには、テキスト ・ メッセージとして次のエラー メッセージを参照して、継続されている影響を受けるインスタンスを修復する必要があることを示します。
  • SQL Server 2008 および SQL Server 2008 R2:
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • SQL Server 2012:
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
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 インストーラー データベース ファイル (.msi) または Windows インストーラー修正プログラム ファイル (.msp) が見つからない場合、Windows インストーラーのキャッシュから、この問題が発生する可能性があります。Windows インストーラーのキャッシュは、次のフォルダーに格納されます。
%windir%\installer
Windows インストーラーを使用して製品をインストールするとき、元の .msi ファイルの分解のバージョンは、Windows インストーラーのキャッシュに格納されます。すべての更新、修正プログラム、累積的な更新の場合は、service pack のセットアップなどの製品では、関連する .msp または .msi ファイルも、Windows インストーラーのキャッシュに格納します。

修正プログラム、累積的な更新の場合、または 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\

この出力は、修正プログラムのインストールについては、次を示します。
  • 修正プログラムの実行可能ファイルをダブルクリックして、オリジナルの修正プログラムがインストールされました。
  • 修正プログラムのインストーラーは、修正プログラムのインストール中に、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、この修正プログラムに関連付けられているサポート情報記事を検索します。この例では、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 ファイルが見つからないため、修正プログラム パッケージと製品の詳細を検索する方法
製品の異なるバージョンでは、この問題の別のエラー メッセージを生成します。2008 sp1 以降の Microsoft SQL Server の更新プログラムのセットアップ プログラムの「現象」に記載されているエラー メッセージが表示されます。その他のアップデートでは、どの修正プログラム ファイルには不足している 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. 不足している .msp ファイルでは、Windows インストーラーの修正プログラムの次のレジストリ サブキーを検索します。
    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
名前: 表示名
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 - 最終更新日: 07/03/2016 14:27:00 - リビジョン: 17.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
フィードバック
display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">