Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Wiederherstellen fehlender Windows Installer-Cachedateien und Beheben von Problemen bei einer SQL Server-Aktualisierung

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 969052
Problembeschreibung
In diesem Artikel beschriebenen Prozess bietet nur Soforthilfe und keine endgültige Fehlerbehebung. Kunden diese Notfall verwenden sollten die Windows Installer-Cache mit demWindows Installer-Cache Verifier Paketüberprüfen, wie im Knowledge Base-Artikel 2667628.

Wenn Sie versuchen, eine Microsoft SQL Server Servicepack oder ein kumulatives Update installieren, treten möglicherweise die folgenden Fehlermeldungen und Thesemay Windows Installer-Cache Probleme hinweisen. Der Windows Installer-Cache befindet sich im Ordnerc:\windows\installer speichert wichtige Dateien für Applikationen mit der Windows Installer-Technologie installiert und sollten nicht gelöscht werden. Wenn Installer-Cache beschädigt ist, können Sie nicht sofort Siehe Probleme erst nach dem Ausführen einer Aktion wie deinstallieren, reparieren oder Aktualisieren von SQL Server.

Wenn Sie SQL Server installieren, speichert Windows Installer wichtige Dateien im Windows Installer-Cache (der Standardwert lautet C:\Windows\Installer). Diese Dateien sind zum Deinstallieren und Aktualisieren von Clientanwendungen erforderlich. Fehlende Dateien können nicht zwischen Computern kopiert werden, da sie eindeutig sind.

Microsoft empfiehlt, für SQL Server-Installationen zunächst den Reparaturvorgang zu verwenden, der in den folgenden Artikeln zum Überprüfen Ihrer aktuellen Installations beschrieben:

Sie sollten die Reparatur vom ursprünglichen Installationsmedium mithilfe der folgenden Befehlszeile ausführen:

Setup.exe/Action = Reparatur /INDICATEPROGRESS = TRUE

Reparieren Sie allgemeine gemeinsame Komponenten und Features zuerst, und wiederholen Sie den Befehl Reparieren Instanzen installiert. Während des Reparaturvorgangs wird das Setupdialogfeld. Als Fehler Fenster nicht angezeigt wird, verläuft der Reparaturvorgang wie erwartet.

Hinweis Fehlermeldung als Text-Nachrichten finden Sie im Ereignisprotokoll oder in den Setup-Protokollen, die in einem der folgenden Ordner befinden und sie zeigen, dass Sie die betroffene Instanz fortsetzen wird deaktiviert:
  • Für SQL Server 2008 und SQL Server 2008 R2:
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • Für SQL Server 2012:
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
SQL 2005 (alle)
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQLServer 2005
1636 kann Windows Installer MSI-Datei installieren
1636 kann nicht Windows Installer MSP-Datei installiert
Hinweis Überprüfen Sie die Installationsprotokolldateien zu ermitteln, ob alle Cachedateien fehlen. Weitere Informationen hierzu finden Sie im Abschnitt "Lösung".

Für SQL Server 2008 SP1
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQL Server 2008 SP1Keine Fehlermeldung
Titel: SQL Server Setup-Fehler.
------------------------------
SQL Server wurde der folgenden Fehler aufgetreten: die Patch-Datei kann nicht geöffnet werden. Die Datei ist: c:\WINNT\Installer\1cf506f.msp. Fehlercode 0x84B20001.
------------------------------
Für SQL Server 2008 SP3 nur Build (CU-DDR Zweige sind nicht anwendbar)
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQL Server 2008 SP3
Die zwischengespeicherte MSI-Datei 'C:\Windows\Installer\2775c8.msi' ist nicht vorhanden. Die Originaldatei wird'sql_engine_core_inst.msi' und wurde für das Produkt installiert 'Microsoft SQL Server 2008 Datenbankmoduldienste von'<network path="">', Version "10.3.5500.0" Sprache "ENU".</network>
Die zwischengespeicherten Patch-Datei "C:\Windows\Installer\19b19196.msp" fehlt. Die ursprüngliche Datei für zwischengespeicherte Datei ist "sql_engine_core_inst.msp", "Servicepack 3 für SQL Server 2008 (KB2546951) (64-Bit)," Version 10.3.5500.0 installiert werden kann
Hinweis Sie erhalten folgende Fehlermeldung, wenn Sie ein Upgrade durchführen:
SQL Server-Fehler

Für SQL Server 2008 R2 SP1 only (CU-DDR Zweige sind nicht anwendbar)
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQL Server 2008 R2 SP1
Titel: SQL Server Setup-Fehler.
------------------------------
SQL Server wurde der folgenden Fehler aufgetreten: C:\Windows\Installer\932b909.msi.
------------------------------
Die zwischengespeicherten Patch-Datei "C:\Windows\Installer\105441.msp" fehlt. Die ursprüngliche Datei für zwischengespeicherte Datei ist "sql_engine_core_inst_loc.msp", "Service Pack 1 für SQL Server 2008 R2 (KB2528583) (64-Bit)" installiert, Version 10.51.2500.0.
Hinweis Sie erhalten folgende Fehlermeldung, wenn Sie ein Upgrade durchführen:
SQL Server-Fehler

Für SQL Server 2008 R2 SP2
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQL Server 2008 R2 SP1
Die zwischengespeicherte MSI-Datei 'C:\Windows\Installer\932b909.msi' ist nicht vorhanden. Die Originaldatei ist'sql_engine_core_inst.msi' und wurde für das Produkt installiert 'SQL Server 2008 R2 SP1 Datenbankmoduldienste von'<network path="">', Version "10.51.2500.0" Sprache "ENU".</network>
Die zwischengespeicherten Patch-Datei "C:\Windows\Installer\105441.msp" fehlt. Die ursprüngliche Datei für zwischengespeicherte Datei ist "sql_engine_core_inst_loc.msp", "Service Pack 1 für SQL Server 2008 R2 (KB2528583) (64-Bit)" installiert, Version 10.51.2500.0.
Hinweis Sie erhalten folgende Fehlermeldung, wenn Sie ein Upgrade durchführen:
SQL Server-Fehler

Für SQL Server 2012 vor CU2
Es gibt keine Meldung für MSP oder MSI-Dateien fehlen. Fehlercode 1714 wird jedoch im Setupprotokoll protokolliert.

In der Datei "Summary.txt":
Komponentenname: SQL Server-Unterstützungsdateien
Komponente-Fehlercode: 1714

In der Datei "Detail.txt":
<Date><Time>SLP: Sco: Datei 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' ist nicht vorhanden.
<Date><Time>SLP: Sco: Datei 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' ist nicht vorhanden.
<Date><Time>SLP: Prüfpunkt: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>SLP: Sco: Basis Registrierungsschlüssel HKEY_LOCAL_MACHINE erstellt beim Computer<Server name="">
<Date><Time>SLP: Sco: Registrierungsunterschlüssel Software\Microsoft\Windows\CurrentVersion\Installer öffnen
<Date><Time>SLP: Sco: versuchen, den Registrierungswert InstallerLocation
<Date><Time>SLP: Windows Installer-Version: 5.0.7601.17514
<Date><Time>SLP: Sco: Warten auf Service "Msiserver" Stop-Anforderung an.
<Date><Time>SLP: Sco: SC-Manager öffnen
<Date><Time>SLP: Sco: Diensthandle Service Msiserver öffnen
<Date><Time>SLP: QueryServiceStatus Win32-API-aufrufen
<Date><Time>SLP: Sco: Versuch Service für Service Msiserver schließen
<Date><Time>SLP: Sco: Versuch, SC-Manager schließen
<Date><Time>SLP: Zielpaket: "d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi"
<Date><Time>SLP: MSI-Fehler: 1714 die ältere Version von Microsoft SQL Server 2012-Setup (Englisch) kann nicht entfernt werden. Wenden Sie sich an Ihren technischen Support.
<Date><Time>SLP: InstallPackage: MsiInstallProduct zurückgegebenen Ergebniscode 1603.
<Date><Time>SLP: Option Retry erkennen mit MSI-Fehlercode: 1714
<Date><Time>SLP: Keine Wiederholung können MSI Rückgabecode gefunden.</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>

Für SQL Server 2012 CU2 (und alle nachfolgenden CU oder SP)
ProduktversionFehlermeldung beim fehlt das Installer-Paket (MSI)Fehlermeldung, wenn der Installer Cache Paket (MSP) fehlt
SQL Server 2008 R2 SP1
Die zwischengespeicherte MSI-Datei ' C:\Windows\Installer\<file_encoded_name>MSI ' fehlt. Die Originaldatei '' C:\Windows\Installer\sql_<featurename>MSI '}' für Produkt installiert wurde "Microsoft SQL Server <version>' von 'C:\originalfolder' Version '<versionnumber>', Sprache '<language>'.</language> </versionnumber> </version> </featurename> </file_encoded_name>
Die zwischengespeicherten Patch-Datei "c:\Windows\Installer\1fdb1aec.msp" fehlt. Die ursprüngliche Datei ist "sql_engine_core_inst.msp", "Hotfix 2316 für SQL Server 2012 (KB2679368) (64-Bit)" Version 11.00.2100.60.The zwischengespeicherte Patchdatei installiert werden kann "C:\Windows\Installer\<file_encoded_name>MSP ' fehlt. Die Originaldatei ist '' C:\Windows\Installer\sql_<featurename>MSP '}', die kann installiert werden "Hotfix <number>für SQL Server 2012 <KB number="">', Version '<versionnumber>'.</versionnumber> </KB> </number> </featurename> </file_encoded_name>
Hinweis Unter bestimmten Umständen in SQL Server 2012 können RTM-Medien nicht ordnungsgemäß registriert. Wenn Sie ein kumulatives Update oder ein Servicepack deinstallieren unter diesen Umständen Setup fordert Sie möglicherweise für die RTM-Medien. Um dieses Problem zu umgehen, geben Sie den RTM Media Pfad beim Patch entfernen.
Ursache
Diese Probleme können auftreten, wenn die Windows Installer-Datenbankdatei (MSI) oder die Windows Installer-Patchdatei (MSP) aus dem Windows Installer-Cache fehlt. Windows Installer-Cache befindet sich im folgenden Ordner:
%Windir%\Installer
Wenn ein Produkt mit Windows Installer installiert ist, ist eine reduzierte Version des ursprünglichen MSI-Datei im Windows Installer-Cache gespeichert. Jede Aktualisierung wie ein Hotfix, ein kumulatives Update oder Service Pack-Setup speichert auch die entsprechende MSP oder MSI-Datei im Windows Installer-Cache.

Alle zukünftigen Updates wie ein Hotfix, ein kumulatives Update oder Service Pack-Setup basiert auf den Informationen in den Dateien, die im Windows Installer-Cache gespeichert sind. Ohne diese Informationen nicht das neue Update die erforderlichen Transformationen möglich.
Lösung
Um diese Probleme zu beheben, verwenden Sie eines der folgenden Verfahren.

Schritt 1: Verwenden eines Skripts

Die Schritte in dieser Prozedur müssen Sie kopieren die FindSQLInstalls.vbs-Skript im Abschnitt "Weitere Informationen" in einen lokalen Ordner auf dem Computer, in dem Sie die SQL Server-Installation aktualisieren möchten.

Hinweis Das FindSQLInstalls.vbs-Skript sammelt die Informationen zum Paket ungültige Pfade zu korrigieren. Und dieses Skript wird vor der Quellspeicherort verwendet, um sicherzustellen, dass alle MSP-Pakete in das Verzeichnis Windows Installer. Fehlende Pakete werden erneut hinzugefügt, wenn die Originalmedien verfügbar ist.

Zur Behebung dieser Probleme mit einem Skript, gehen Sie folgendermaßen vor:
  1. Suchen Sie das Verzeichnis, den Skriptinhalt gespeichert.
  2. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten in das Verzeichnis, in dem das Skript gespeichert, und führen Sie den folgenden Befehl:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. Öffnen Sie die Datei aus Schritt 2 in einem Texteditor wie Notepad und die Probleme, die den Fehler verursachen. Suchen Sie dazu die Textdatei Zeichenfolgenmuster wie folgt:
    • nicht
    • !!!
  4. Basierend auf den Ergebnissen in Schritt 3 Schritte, die erforderlich sind.

    Hinweis Weitere Informationen zu diesen Schritten im Abschnitt "Beispiele" suchen.

  5. Wiederholen Sie die Schritte 2 bis 4, bis die in Schritt 2 erstellte Textdatei mehr Text enthält, der verweist auf ungültige Pfade oder fehlende Dateien für die Komponente, die aktualisiert wird.

Beispiele

In den folgenden Beispielen werden Einträge und Erläuterung der Aktionen, die in die Ausgabedatei beschrieben werden, die beim Ausführen des Skripts FindSQLInstalls.vbs generiert.

Beispiel 1: Fehlende Installationsdateien
Es folgt ein Beispiel der Ausgabe generiert wird, wenn ein MSI-Paket im Windows Installer-Cache-Ordner fehlen.
================================================================================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\

Die Zeile "LastUsedSource" verweist auf den Speicherort, mit dem das Setupprogramm ausgeführt wurde.

In der Zeile "LastUsedSource" der Eintrag m gibt Medien und gibt an, dass die ursprüngliche Quelle CD/DVD-Medien.

Im folgenden Beispiel ist eine CD oder DVD im Laufwerk G. Wenn die Installation erfolgt ist, ein Ordner oder eine Netzwerkfreigabe Zeile mit einem Eintrag n beginnt, "LastUsedSource" folgt ein Eintrag Numeric_Data_Name, und den tatsächlichen Pfad:
!!!! 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\ 

"Aktion erforderlich" Zeile zeigt den vollständigen Pfad vorhanden sein muss, um fehlende Dateien für das Originalinstallationsmedium zu aktualisieren:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

Die Zeile "Installer-Cachedatei" bestätigt den Namen des Installer-Cachedatei:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Im folgende Abschnitt der Ausgabe berät Sie erforderlich sind, um die fehlenden Dateien zu beheben:
 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.
Beispiel 2: Fehlende patches
Fehlende Patches möglicherweise Einträge, die in Beispiel 1 entsprechen. In den meisten Fällen, sehen Sie Einträge in der Zeile "Patch LastUsedSource", die einen Patch verweisen und diese Zeile sieht folgendermaßen aus:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Diese Ausgabe zeigt folgende Informationen über die Installation des Patch:
  • Der ursprüngliche Patch wurde durch Doppelklicken auf die ausführbare Datei der Patch installiert.
  • Das Installationsprogramm für das Update verwendet einen temporären Ordner, c:\0ca91e857a4f12dd390f0821a3, während der Installation des Patches.
  • Um den Pfad neu zu erstellen, führen Sie derselben ausführbaren Datei, und fügen Sie den folgenden Parameter:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Hinweis Dieser Befehl zwingt die ausführbare Datei extrahieren an vorherigen fehlt, und diese die Struktur erforderlich ist, um die Windows Installer-Cache mit fehlenden Dateien aktualisieren neu erstellt. Die tatsächliche Position variieren und einzelner Patch wie ein Servicepack möglicherweise mit mehreren Speicherorten extrahiert werden. Jede installierte Produkt enthält einen Abschnitt mit den folgenden Informationen für "Patches installiert":
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    Zeile "KB-Artikel URL" können Sie alle Medien Patch herunterladen werden.

Schritt 2: Manuelles Wiederherstellen der Dateien

Um Windows Installer-Cache fehlen Dateien manuell wiederherzustellen, gehen Sie folgendermaßen vor:
  1. Die Fehlermeldung, die Setupprotokolldatei oder die Registrierungseinträge, die von Windows Installer verwaltet erfassen Sie die vollständigen Details über die fehlende Datei. Fehler Nachricht 1 im Abschnitt "Symptome" ist z. B. alle Informationen, die erforderlich ist, um das Problem in der Fehlermeldung vorhanden:
    • PatchName: "Hotfix 1702 für SQL Server 2008 R2 (KB981355) (64-Bit)"
    • Ursprüngliche MSP-Datei durch den Patch: sql_engine_core_inst.msp
    • Zwischengespeicherte MSP-Datei: c:\Windows\Installer\1fdb1aec.msp
  2. Haben Sie nicht alle Details, siehe die "Informationen für Verfahren 2" Abschnitt Schritte zum Sammeln dieser Informationen.
  3. Besuchen Sie http://support.Microsoft.com, und suchen Sie nach KB-Artikel, die diesen Patch zugeordnet ist. In diesem Beispiel müssen Sie nach KB981355 suchen.
  4. Downloaden Sie dieser Sicherheitspatch auf Ihren Computer. Stellen Sie sicher, dass das Patchpaket entspricht der erforderlichen Plattform herunterladen. In diesem Beispiel ist das Paket SQLServer2008R2-KB981355-x64.exe.
  5. Extrahieren Sie den Inhalt des Update-Pakets mithilfe der folgenden Syntax:
    C:\Temp>SQLServer2008R2-KB981355-x64.exe x C:\Temp\SQLServer2008R2-KB981355-x64\
  6. Suchen Sie die ursprünglichen MSP-Datei sql_engine_core_inst.msp. Die Datei sollte sich im folgenden Ordner:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Kopieren Sie diese ursprünglichen MSP-Datei in Windows Installer-Cache:
    %windir%\installer\
  8. Benennen Sie die ursprüngliche MSP-Datei, sql_engine_core_inst.msp, folgenden Namen:
    zwischengespeicherte MSP-Datei 1fdb1aec.msp

Starten Sie das Installationsprogramm für das Update, das den Fehler verursacht hat, und den Aktualisierungsprozess fortsetzen. Diese Meldung für eine fehlende Windows Installer-Cachedatei für eine andere Komponente oder ein anderes Update des gleichen Produkts auftreten.

Eine Liste aller fehlende Windows Installer-Cache-Dateien erhalten, die Produktkomponenten SQL Server verknüpft sind, können Sie SQL Server 2008 R2 BPA-Tool herunterladen, das im Abschnitt "Weitere Informationen" genannt wird.

Wenn die Fehlermeldung verweist auf eine fehlende Windows Installer-Datenbankdatei (MSI), haben Sie keine Schritte 2 bis 4. Stattdessen gelangen Sie direkt zu Schritt 5. Sie müssen die MSI-Datei von dem Originalmedium zu suchen, die Sie zur Installation des Produkts verwendet. Diese Fehlermeldung wird für sql_engine_core_inst.msi generiert wurde, müssen Sie diese Datei aus den Setup-Medien unter die folgende Ordnerstruktur:
\x64\setup\sql_engine_core_inst_msi\
Die Schritte sind identisch.

Weitere Informationen für Schritt 2

Wie Sie das Paket und die Produktdetails fehlende .msp-Datei
Andere Versionen des Produkts generiert Fehlermeldungen für dieses Problem. Die im Abschnitt "Symptome" aufgeführten Fehlermeldungen angezeigt für Setup-Programme für Microsoft SQL Server 2008 SP1 ab. Andere Updates werden Fehlermeldungen, die nicht eindeutig angeben können die Patch-Datei aus dem Windows Installer-Cache und den bestimmten Update fehlt. Diese Fehlermeldungen enthält die Setupprotokolldateien Informationen über fehlende Windows Installer-Cachedatei. Ein Beispiel-Setupprotokoll folgendermaßen aussehen:
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

Wenn Sie dieses Setup-Protokolldatei überprüfen, gibt es bereits Sie Informationen der ursprünglichen MSP-Datei, die verwendet wurde, indem Sie den folgenden Patch:
sqlrun_sql.msp


Um weitere Informationen zu fehlenden MSP-Datei im Windows Installer-Cache finden, gehen Sie folgendermaßen vor:
  1. Suchen Sie nach fehlenden MSP-Datei der Windows Installer-Patches Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Suchen Sie die Patch-GUID.
  3. Suchen Sie die Patch-GUID im Registrierungsunterschlüssel von Windows Installer-Produkten:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
Für das Beispiel-Setup-Protokoll Informationen fehlen MSP-Datei und die entsprechende Patch-Informationen sind in die folgenden Registrierungseinträge:

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

Wert: 0
Name: LocalPackage
Daten: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Wert: 6
Name: DisplayName
Daten: DDR 2050 für SQL Server-Datenbank Services 2005 DEU (KB932555)

Jetzt haben Sie alle Informationen: Schritte lösen die fehlenden Dateien im Windows Installer-Cache starten.

Hinweis Wenn Sie Microsoft SQL Server 2008 Service Pack 3 (SP3) oder höher verwenden, erhalten Sie auch eine ähnliche Fehlermeldung für die fehlenden MSI-Dateien. Mithilfe dieser Fehlermeldung können Sie schnell feststellen, welche Datei vorhanden ist, welches Servicepack herunterladen, und wo den Download.

Weitere Informationen zum Beziehen des Servicepacks finden im folgenden Artikel der Microsoft Knowledge Base:
2546951 Liste der in SQL Server 2008 Service Pack 3 behobenen Probleme

Weitere Informationen
Weitere Informationen zu Windows Installer (.msi) Dateien finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:Weitere Informationen zu Windows Installer-Patchdateien (MSP-Datei) finden Sie auf der folgenden MSDN-Website:Weitere Informationen über die internen Details der Windows Installer-Cache finden Sie das folgende MSDN-Blog:Weitere Informationen über den Updateprozess finden Sie das folgende MSDN-Blog:Weitere Informationen zum sicherstellen, dass die Patchdatei für die richtige Plattform cache finden Sie das folgende MSDN-Blog:Weitere Informationen, warum ein Produkt, das Windows Installer verwendet, dieses Problem auftreten kann, finden Sie das folgende MSDN-Blog:Weitere Informationen Informationen über unterschiedliche in Setup-Protokolldateien angezeigten Fehlermeldungen finden Sie das folgende MSDN-Blog:

Weitere Informationen zu den Produkten und Tools automatisch diese Bedingung auf die Instanz von SQL Server und der SQL Server-Versionen überprüft finden Sie in der folgenden Tabelle:
Regel-softwareRegel-TitelBeschreibungProduktversionen, die Regel ausgewertet wird
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Setup - Installer-Cache ist für die SQL-InstallationSQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) enthält eine Regel, um fehlende Installer-Cachedatei für SQL Server-Komponenten erkennen. SQL Server 2008 R2 BPA unterstützt SQL Server 2008 und SQL Server 2008 R2. Wenn Sie BPA-Tool ausgeführt und einen Fehler mit dem Titel der Setup - Installer-Cache fehlt für die SQL-Installation und dann die Cache-Dateien fehlen Cacheordner.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012)Setup - Installer-Cache ist für die SQL-InstallationSQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012) enthält eine Regel, um fehlende Installer-Cachedatei für SQL Server-Komponenten erkennen. Wenn Sie BPA-Tool ausgeführt und einen Fehler mit dem Titel der Setup - Installer-Cache fehlt für die SQL-Installation und dann die Cache-Dateien fehlen Cacheordner.SQL Server 2012



FindSQLInstalls.vbs-Skript

' 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

Eigenschaften

Artikelnummer: 969052 – Letzte Überarbeitung: 03/09/2016 07:56:00 – Revision: 18.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 KbMtde
Feedback
/html>