SQL: Problem z patchowaniem: missing Windows Installer cache files

6-gru-2016

Zdarza się, że podczas instalacji aktualizacji SQL Server pojawiają się błędy związane z brakującymi plikami MSI. Albo to wcześniej instalacja została wykonana z dysku sieciowego, który teraz już nie jest dostępny, albo nadgorliwy administrator Windows wykasował pliki z cache MSI… no cóż!

Może się więc wydarzyć, że instalacja po prostu się nie udaje. W takim przypadku jedną z ostatnich desek ratunku może być skrypt FindSQLInstalls.vbs ze strony: https://support.microsoft.com/pl-pl/kb/969052

Instalator podczas aktualizacji szuka określonych plików w pewnych lokalizacjach:

  • najpierw jest to folder cache MSI
  • jeśli plik nie zostanie tam znaleziony to sprawdzana jest oryginalna lokalizacja pliku (czyli tam, gdzie znajdował się instalator w momencie instalacji.

Zadaniem tego skryptu jest sprawdzenie gdzie powinny się znajdować poszczególne pliki, aby instalacja się powiodła. Jeśli pliku nie ma w cache, skrypt pokaże, gdzie znajdował się plik podczas instalacji. Poniżej przykład z wyniku uruchomienia skryptu gdy pliku brakuje:

 

================================================================================

PRODUCT NAME   : SQL Server 2008 R2 SP2 Reporting Services

================================================================================

  Product Code: {2453DBC8-ACC4-4711-BD03-0C15353AA3D8}

  Version     : 10.52.4000.0

  Most Current Install Date: 20140910

  Target Install Location:

  Registry Path:

   HKEY_CLASSES_ROOT\Installer\Products\8CBD35424CCA1174DB30C05153A33A8D\SourceList

     Package    : sql_rs.msi

  Install Source: \x64\setup\

  LastUsedSource: n;1;X:\Installs\SQL2008R2SE\x64\setup\

 !!!! sql_rs.msi DOES NOT exist on the path in the path X:\Installs\SQL2008R2SE\x64\setup\ !!!!

 Action needed, re-establish the path to X:\Installs\SQL2008R2SE\x64\setup\

Installer Cache File: C:\Windows\Installer\240acaf0.msi

 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!! C:\Windows\Installer\240acaf0.msi DOES NOT exist in the Installer cache. !!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

     Action needed, recreate or re-establish path to the directory:

       X:\Installs\SQL2008R2SE\x64\setup\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 „X:\Installs\SQL2008R2SE\x64\setup\sql_rs.msi” C:\Windows\Installer\240acaf0.msi

Replace the existing file if prompted to do so.

 

Plików brakowało w Cache i nie był dostępny folder X:|Installs\… więc instalacja się nie udawała. Po zmapowaniu dysku X:\ dokładnie w ten sam sposób co podczas instalacji, powoduje, że skrypt wykazuje, że instalacja ma szansę się udać!

================================================================================

PRODUCT NAME   : SQL Server 2008 R2 SP2 Reporting Services

================================================================================

  Product Code: {2453DBC8-ACC4-4711-BD03-0C15353AA3D8}

  Version     : 10.52.4000.0

  Most Current Install Date: 20140910

  Target Install Location:

  Registry Path:

   HKEY_CLASSES_ROOT\Installer\Products\8CBD35424CCA1174DB30C05153A33A8D\SourceList

     Package    : sql_rs.msi

  Install Source: \x64\setup\

  LastUsedSource: n;1;X:\Installs\SQL2008R2SE\x64\setup\

    sql_rs.msi exists on the LastUsedSource path, no actions needed.

Installer Cache File: C:\Windows\Installer\240acaf0.msi

     Missing cache file replaced by copying X:\Installs\SQL2008R2SE\x64\setup\sql_rs.msi to C:\Windows\Installer\240acaf0.msi

     Previously missing package C:\Windows\Installer\240acaf0.msi now exists in the Installer cache.

 

Komentarze są wyłączone

Autor: Rafał Kraik