Momentan sunteți offline, așteptați să vă reconectați la internet

Cum să restaurați fișierele lipsă de cache Windows Installer și rezolvarea problemelor care apar în timpul unei actualizări de SQL Server

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 969052
Simptome
Procesul care este descrisă în acest articol oferă ajutor de urgenţă și nu o remediere permanentă. Clienții care utilizează acest proces de urgență ar trebui să validați lor Windows Installer Cache utilizândPachetul Windows Installer Cache Verifier, după cum este indicat în articol KB 2667628.

Când încercați să instalați un pachet de pachet Service Pack Microsoft SQL Server sau o actualizare cumulativă, este posibil să întâmpinați următoarele mesaje de eroare și thesemay indica probleme cu Windows Installer Cache. Memoria Cache de Windows Installer, amplasate în folderulc:\windows\installer , stochează importante fișierele pentru aplicațiile instalate folosind tehnologia Windows Installer și nu ar trebui să se șteargă. Dacă memoria cache de instalare a fost compromis, este posibil să nu imediat vedea probleme până când efectuați o acțiune, cum ar fi dezinstalarea, repararea sau actualizarea SQL Server.

Când instalați SQL Server, să Installer stochează fișiere critice în memoria Cache de Windows Installer (implicit este C:\Windows\Installer). Aceste fișiere sunt necesare pentru dezinstalarea şi actualizarea stratul aplicaţiilor. Fișierele lipsă nu pot fi copiate între computere, deoarece acestea sunt unice.

Microsoft recomandă pentru instalările SQL Server să mai întâi utilizați procesul de reparare, care este descrisă în următoarele articole pentru a verifica instalarea curentă:

Trebuie să executați reparare din suportul media de instalare original, utilizați următoarea linia Către de comandă:

Setup.exe /ACTION = reparare /INDICATEPROGRESS = TRUE

Reparare componentele partajate comune și caracteristici mai întâi, iar apoi repetați comanda pentru a repara instanțe instalat. În timpul procesului de reparare, casetă de dialog instalare dispare. Cât marcă de timp fereastra de progres nu afișează o eroare, procesul de reparare este proceda așa cum vă așteptați.

Notă Următoarele mesaje de eroare poate fi găsit ca mesajele text în jurnal de evenimente sau în Jurnalul de instalare care se află într-unul din următoarele foldere, iar acestea indică faptul că ar trebui să reparați de instanță afectate fiind proceduri suplimentare:
  • Pentru SQL Server 2008 și pentru SQL Server 2008 R2:
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • Pentru SQL Server 2012:
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
Pentru SQL 2005 (toate ramurile)
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2005
1636 nu se poate instala Windows Installer MSI fișier
1636 nu se poate instala Windows Installer MSP fișier
Notă Ce trebuie să examinați fișierele jurnal de instalare pentru a identifica dacă lipsesc orice fișiere din memoria cache. Pentru mai multe informații despre cum se face acest lucru, mergeţi la secţiunea "Rezolvare".

Pentru SQL Server 2008 SP1
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2008 SP1Niciun mesaj de eroare
Titlu: Eroare de instalare SQL Server.
------------------------------
program de instalare SQL Server a întâlnit următoarea eroare: Imposibil de deschis fișierul patch. Fișierul este: c:\WINNT\Installer\1cf506f.msp. Cod de eroare 0x84B20001.
------------------------------
Pentru SQL Server 2008 pachet Service Pack 3 build doar (nu se aplică ramurile CU/GDR)
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2008 pachet Service Pack 3
Lipsește fișierul cache MSI 'C:\Windows\Installer\2775c8.msi'. Sa fişierul original este 'sql_engine_core_inst.msi' și a fost instalat pentru produs 'Microsoft SQL Server 2008 bazei acoperire de date motorul Services' la'<network path="">', versiunea '10.3.5500.0', 'ENU' limba.</network>
Lipsește fișierul cache corecție "C:\Windows\Installer\19b19196.msp". Fișierul original pentru acest fișier cache este "sql_engine_core_inst.msp", care poate fi instalat de la "Service Pack 3 pentru SQL Server 2008 (KB2546951) (64-bit)", versiune 10.3.5500.0
Notă Primiți următorul mesaj de eroare atunci când efectuați un upgrade:
Eroare SQL Server

Pentru SQL Server 2008 R2 SP1 numai (CU/GDR ramurile nu sunt aplicabile)
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2008 R2 SP1
Titlu: Eroare de instalare SQL Server.
------------------------------
program de instalare SQL Server a întâlnit eroarea următoare: C:\Windows\Installer\932b909.msi.
------------------------------
Lipsește fișierul cache corecție "C:\Windows\Installer\105441.msp". Fișierul original pentru acest fișier cache este "sql_engine_core_inst_loc.msp", care poate fi instalat de la "Service Pack 1 pentru SQL Server 2008 R2 (KB2528583) (64-bit)", versiunea 10.51.2500.0.
Notă Primiți următorul mesaj de eroare atunci când efectuați un upgrade:
Eroare SQL Server

Pentru SQL Server 2008 R2 SP2
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2008 R2 SP1
Lipsește fișierul cache MSI 'C:\Windows\Installer\932b909.msi'. Sa fişierul original este 'sql_engine_core_inst.msi' și a fost instalat pentru produs 'SQL Server 2008 R2 SP1 bazei acoperire de date motorul Services' la'<network path="">', versiunea '10.51.2500.0', 'ENU' limba.</network>
Lipsește fișierul cache corecție "C:\Windows\Installer\105441.msp". Fișierul original pentru acest fișier cache este "sql_engine_core_inst_loc.msp", care poate fi instalat de la "Service Pack 1 pentru SQL Server 2008 R2 (KB2528583) (64-bit)", versiunea 10.51.2500.0.
Notă Primiți următorul mesaj de eroare atunci când efectuați un upgrade:
Eroare SQL Server

Pentru SQL Server 2012 înainte CU2
Nu există niciun mesaj pentru MSP sau MSI fişiere lipsă. Cu toate acestea, cod de eroare 1714 se înregistrează în Jurnalul de instalare.

În fișierul Summary.txt:
Componentă nume: fișierele de suport de instalare SQL Server
Cod de eroare componente: 1714

În fișierul Detail.txt:
<Date><Time>SLP: Sco: File 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' nu există
<Date><Time>SLP: Sco: File 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' nu există
<Date><Time>SLP: Punct de verificare: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>SLP: Sco: încercarea de a crea cheie de registry de bază HKEY_LOCAL_MACHINE, machine<Server name="">
<Date><Time>SLP: Sco: încearcă să deschidă subcheia de registry Software\Microsoft\Windows\CurrentVersion\Installer
<Date><Time>SLP: Sco: încercarea de a obține valoarea de registry InstallerLocation
<Date><Time>SLP: Windows Installer versiune: 5.0.7601.17514
<Date><Time>SLP: Sco: așteptând serviciul 'msiserver' pentru a accepta solicitarea de stop.
<Date><Time>SLP: Sco: încearcă să deschidă SC Manager
<Date><Time>SLP: Sco: încearcă să deschidă handle de serviciu pentru serviciul msiserver
<Date><Time>SLP: Invocarea QueryServiceStatus Win32 API
<Date><Time>SLP: Sco: încercarea de a închide handle de serviciu pentru serviciul msiserver
<Date><Time>SLP: Sco: încearcă să se închidă SC Manager
<Date><Time>SLP: Pachet de Target: "d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi"
<Date><Time>SLP: Eroare MSI: 1714 versiunea mai veche de instalare Microsoft SQL Server 2012 (în limba engleză) nu pot fi eliminate. Contactați grupul de asistență tehnică.
<Date><Time>SLP: InstallPackage: MsiInstallProduct returnează rezultate codul 1603.
<Date><Time>SLP: Folosind cod de eroare MSI pentru a detecta opțiunea Reîncercare: 1714
<Date><Time>SLP: Nu MSI Reîncercare poate returna codul detectat.</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>

Pentru SQL Server 2012 CU2 (și orice ulterioare unei actualizări Cumulative sau SP)
Versiune produsMesaj de eroare atunci când lipsește Package Installer (MSI)Mesaj de eroare atunci când lipsește pachetul de instalare a Cache (MSP)
SQL Server 2008 R2 SP1
Fișierul cache MSI ' C:\Windows\Installer\<file_encoded_name>.msi' lipsește. Sa fişierul original este '' C:\Windows\Installer\sql_<featurename>.msi'}' și a fost instalat pentru produs ' Microsoft SQL Server <version>' la 'C:\originalfolder', versiunea '<versionnumber>', limba '<language>'.</language> </versionnumber> </version> </featurename> </file_encoded_name>
Lipsește fișierul cache corecție "c:\Windows\Installer\1fdb1aec.msp". Sa fişierul original este "sql_engine_core_inst.msp", care poate fi instalat de "remedieri rapide 2316 pentru SQL Server 2012 (KB2679368) (64-bit)", versiunea 11.00.2100.60.The cache patch fișierul "C:\Windows\Installer\<file_encoded_name>.msp' lipsește. Sa fişierul original este '' C:\Windows\Installer\sql_<featurename>.msp'}', care pot fi instalate de la ' remedierea rapidă <number>pentru SQL Server 2012 <KB number="">', versiunea '<versionnumber>'.</versionnumber> </KB> </number> </featurename> </file_encoded_name>
Notă În anumite condiții în SQL Server 2012, RTM media nu pot fi înregistrate corect. Când dezinstalați o actualizare cumulativă sau un pachet pachet Service Pack în aceste cazuri, program de instalare să vă solicite RTM media. Pentru a rezolva această problemă, furnizați calea media RTM în timpul procesului de eliminare de corecție.
Cauză
Aceste probleme pot apărea atunci când fișierul bazei acoperire de date Windows Installer (.msi) sau fișierul de corecție Windows Installer (.msp) lipsește din memoria cache Windows Installer. Memoria cache Windows Installer se află în următorul folder:
%WINDIR%\installer
Când un produs se instalează utilizând Windows Installer, o versiune tăiat a fişierului .msi original este stocat în memoria cache Windows Installer. Fiecare actualizare a produsului, cum ar fi o remediere rapidă, o actualizare cumulativă sau un instalarea pachetului pachet Service Pack, stochează .msp relevante sau fișier .msi în memoria cache Windows Installer.

Orice viitoare actualizare a produsului, cum ar fi o remediere rapidă, o actualizare cumulativă sau un instalarea pachetului pachet Service Pack, se bazează pe informațiile din fișierele stocate în memoria cache Windows Installer. Fără aceste informații, noua actualizare nu pot efectua transformări necesare.
Rezoluţie
Pentru a rezolva aceste probleme, utilizați una dintre următoarele proceduri.

Procedura 1: Utilizarea unui script

Pentru a parcurge pașii din această procedură, trebuie să copiați FindSQLInstalls.vbs script din secțiunea "Mai multe informații" într-un folder local pe computer în cazul în care încercați să actualizați instalarea SQL Server.

Notă Scriptul FindSQLInstalls.vbs colectează informații pentru a corecta pachetul incorect căi. Și, acest script este folosit împotriva în locații sursă pentru a vă asigura că toate pachetele MSP sunt în directorul de cache Windows Installer. Toate pachetele lipsă va fi adăugat din nou dacă suportul media sursă originală este disponibilă.

Pentru a rezolva aceste probleme cu ajutorul unui script, urmați acești pași:
  1. Găsiți directorul în care ați salvat conținutul de script.
  2. Deschideți un prompt de comandă privilegiat la directorul în care aţi salvat scriptul și executați comanda următoare:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. Deschideți fișierul de la pasul 2 într-un editor de text, cum ar fi Notepad și identifica problemele care provoacă eroarea. Pentru aceasta, căutați în fișierul text șir modele, cum ar fi următoarele:
    • nu
    • !!!
  4. Pe baza rezultatelor în Pasul 3, efectuați pașii care sunt necesare.

    Notă Căutați mai multe informații despre pașii din secțiunea "Exemple".

  5. Repetați pașii 2 până la 4 până când fișierul text care este creat în pasul 2 nu mai conține text care face referire la căi nevalidă sau fișierele lipsă pentru componenta care se actualizează.

Exemple

Următoarele exemple sunt intrări și explicațiile de acțiuni care sunt menționate în fișierul de ieșire care este generat atunci când se execută scriptul FindSQLInstalls.vbs.

Exemplu 1: Fișierele de instalare absente
Iată un exemplu de ieșire care este generat atunci când vă lipsesc un pachet .msi în folderul cache Windows Installer.
================================================================================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\

Linia "LastUsedSource" indică spre locația la care s-a utilizat pentru a executa program de instalare.

În linia de "LastUsedSource", intrarea m; semnifică media și indică faptul că sursa originală CD/DVD media.

În exemplul următor, sursa este un CD sau un DVD în unitate G. Dacă instalarea s-a produs dintr-un fișier folder sau dintr-o partajare de rețea, "LastUsedSource" linia Către începe cu o intrare n; urmat de o intrare Numeric_Data_Name; apoi calea actuală:
!!!! 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\ 

"Acțiune necesară" linia Către vă arată cale completă, care trebuie să existe pentru a actualiza fișierele lipsă pentru suportul media de instalare original:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

"Fișierul Cache Installer" linia Către confirmă nume de sign-in fișierului cache-ul de instalare:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Următoarea secțiune de ieșire recomandă să acțiunilor necesare pentru a rezolva fișierele lipsă:
 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.
Exemplu 2: Corecții lipsă
Corecții lipsă poate avea ca rezultat în intrările care seamănă cu cele din exemplu 1. În majoritatea cazurilor, veți observa intrările în linia de "Patch LastUsedSource" o corecție de referință și această linia Către seamănă cu următorul:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Aceste rezultate indică următoarele despre instalarea patch:
  • Corecția originală a fost instalat făcând dublu clic pe fișier executabil patch.
  • program de instalare pentru corecția utilizează un folder temporar, c:\0ca91e857a4f12dd390f0821a3, în timpul instalării corecției.
  • Pentru a crea din nou calea, trebuie să executați fișierul executabil același și adăugați următorul parametru:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Notă Această comandă impune executabilul de extragere a fișierelor în locația lipsă anterioare, și aceasta creează din nou structura care este necesar pentru a actualiza Windows Installer cache cu orice fișiere lipsă. Amplasarea reală va varia și o singură corecție, cum ar fi un pachet pachet Service Pack poate fi necesar să fie extras în locații multiple. Fiecare produs instalat include o secțiune care conține următoarele informații pentru "Corecții instalat":
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    Linia "URL-ul articolului KB" vă pot ajuta să descărcaţi orice corecție media, dacă este necesar.

Procedură 2: Restaura manual fișierele

Pentru a restaura manual fișierele care lipsesc din memoria cache Windows Installer, urmați acești pași:
  1. Colectați detaliile complete despre fișierul lipsă din mesajul de eroare, fișierul jurnal de instalare, sau intrările de registry care sunt întreținute de Windows Installer. De exemplu, în mesajul de eroare 1 în secţiunea "Simptome", toate informațiile pe care este necesar pentru a rezolva problema este prezentă în mesajul de eroare:
    • PatchName: "1702 Hotfix pentru SQL Server 2008 R2 (KB981355) (64-bit)"
    • Fişierul original MSP, care este utilizat de corecție: sql_engine_core_inst.msp
    • Cache MSP fișier: c:\Windows\Installer\1fdb1aec.msp
  2. Dacă nu aveți toate detaliile, consultați "mai multe informații pentru procedura 2" secţiunea pentru pașii pentru a colecta aceste detalii.
  3. Vizitați http://support.Microsoft.com, și căutați articol din bază de cunoştinţe care sunt asociate cu această corecție. În acest exemplu, trebuie să căutați KB981355.
  4. Descărcați această corecție pe computer. Asigurați-vă că descărcați pachetul de corecții care corespunde la platforma necesare. În acest exemplu, pachetul este SQLServer2008R2-KB981355-x64.exe.
  5. Extrageți conținutul pachetului de corecție utilizând următoarea sintaxă:
    C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\
  6. Găsiți msp fișier sql_engine_core_inst.msp fişierul original. Fișierul trebuie să fie în următorul folder:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Copiați acest fișier original msp memoria cache Windows Installer următoarele:
    %WINDIR%\installer\
  8. Redenumiți fișierul original msp, sql_engine_core_inst.msp, la următorul nume:
    1fdb1aec.msp de fișier din cache msp

Puteți porni program de instalare pentru actualizarea care au avut ca rezultat eroarea și relua procesul de actualizare. Este posibil să întâmpinați acest mesaj pentru un fișier lipsă Windows Installer cache pentru o altă componentă sau pentru o altă actualizare a aceluiași produs.

Pentru a obține o listă cu toate lipsă Windows Installer cache fișierele asociate cu componentele produsului SQL Server, aveți posibilitatea să descărcați instrumentul de SQL Server 2008 R2 BPA menționat în secțiunea "Mai multe informații".

Dacă mesajul de eroare se referă la un fișier acoperire de date de lipsă Windows Installer (.msi), nu trebuie să efectuați pașii 2 până la 4. În schimb, puteți accesa direct la pasul 5. Trebuie să găsiți .msi din suportul original, care este utilizat pentru a instala produsul. Dacă acest mesaj de eroare s-a generat pentru sql_engine_core_inst.msi, apoi trebuie să găsiți acest fișier de pe suportul media de instalare sub următoarea structură de folder:
\x64\setup\sql_engine_core_inst_msi\
Alte pașii sunt aceleași.

Mai multe informații pentru procedura 2

Cum se găsește pachetul de corecții și detaliile produsului pentru un fișier .msp lipsă
Versiuni diferite de produs genera mesaje de eroare diferite pentru această problemă. Mesajele de eroare care sunt menționate în secțiunea "Simptome" apar pentru programe de instalare pentru actualizările începând cu Microsoft SQL Server 2008 SP1. Pentru alte actualizări, primiți mesaje de eroare care se poate specifica clar ce fișier de corecție lipsește din memoria cache Windows Installer și detaliile specifice de actualizare. Pentru aceste mesaje de eroare, fișierele jurnal de instalare va conține informații despre lipsește fișierul cache Windows Installer. Un exemplu de jurnal de instalare seamănă cu următorul:
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

Dacă examinați cu atenție acest jurnal de instalare, deja vă oferă informaţii despre fişierul Original MSP care a fost utilizat de corecție următoarele:
sqlrun_sql.MSP


Pentru a găsi mai multe detalii despre fișierul .msp lipsă din memoria cache Windows Installer, urmați acești pași:
  1. Căutaţi fişierul .msp lipsă în următoarea subcheie de registry Windows Installer corecții:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Găsiți Patch GUID.
  3. Căutați Patch GUID în următoarea subcheie de registry Windows Installer produse:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
De exemplu de jurnal de instalare, informațiile despre fișierul .msp lipsă și detaliile corecție corespunzătoare sunt prezente în următoarele intrări de registry:

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

Valoare: 0
Nume: LocalPackage
Data: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Valoare: 6
Nume: DisplayName
Data: GDR 2050 pentru SQL Server bază acoperire de date consolidare servicii 2005 ENU (KB932555)

Acum aveți toate punctele de informații pentru a porni pașii pentru a rezolva fișierele lipsă din memoria cache Windows Installer.

Notă Dacă utilizați Microsoft SQL Server 2008 pachet Service Pack 3 (SP3) sau o versiune ulterioară, de asemenea, primiți un mesaj de eroare similar pentru fișierele .msi lipsă. Utilizând acest mesaj de eroare, aveți posibilitatea să determinați rapid ce lipseşte, ce pachet pachet Service Pack pentru a descărca, și în cazul în care puteți găsi descărcarea.

Pentru mai multe informaţii despre cum se obţine acest pachet Service Pack, faceți clic pe următorul număr de articol pentru a vedea articolul în bază de cunoştinţe Microsoft:
2546951 Listă de erori corectate în SQL Server 2008 pachet Service Pack 3

Informaţii suplimentare
Pentru mai multe informații despre fișierele acoperire de date (.msi) Windows Installer, vizitați următorul site Web Reţea Microsoft pentru dezvoltatori (MSDN):Pentru mai multe informații despre Windows Installer patch (fișierul .msp) fișierele, vizitați următorul site Web MSDN:Pentru mai multe informații despre detaliile internă a memoriei cache Windows Installer, consultați următorul blog MSDN:Pentru mai multe informații despre procesul de corecție, consultaţi următorul blog MSDN:Pentru mai multe informații despre cum să vă asigurați că aveți în memoria cache fișier de corecție pentru platforma corectă, consultați următorul blog MSDN:Pentru mai multe informații despre ce această problemă poate apărea niciun produs care utilizează Windows Installer, consultați următorul blog MSDN:Pentru mai multe informații despre detaliile despre diferitele seturi de mesaje de eroare care apar în fișierele jurnal de instalare, consultaţi următorul blog MSDN:

Pentru mai multe informații despre produse sau instrumente care verifică automat pentru această condiție de instanță de SQL Server și versiunile de produs de SQL Server, consultați următorul tabel:
Software regulăTitlu regulăDescriere regulăVersiunile de produs care regula este evaluată
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Instalare - instalare cache lipsește pentru instalarea SQLSQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) oferă o regulă pentru a detecta fișierul cache lipsă de instalare pentru componentele de SQL Server. SQL Server 2008 R2 BPA acceptă SQL Server 2008 și SQL Server 2008 R2. Dacă executați instrumentul BPA și întâlniți o eroare cu titlu de instalare - instalare cache lipsește pentru instalarea SQL și apoi fişierele lipsesc din folderul cache.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)Instalare - instalare cache lipsește pentru instalarea SQLSQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) oferă o regulă pentru a detecta fișierul cache lipsă de instalare pentru componentele de SQL Server. Dacă executați instrumentul BPA și întâlniți o eroare cu titlu de instalare - instalare cache lipsește pentru instalarea SQL și apoi fişierele lipsesc din folderul cache.SQL Server 2012



FindSQLInstalls.vbs script

' 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

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 969052 - Ultima examinare: 03/09/2016 00:46:00 - Revizie: 15.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 KbMtro
Feedback
>