Friday, November 6, 2015

SQL Server SP failed due to missing windows installer files




When you try to install a Microsoft SQL Server service pack or a cumulative update, you may encounter the following error messages.



Error:


SQL Server Setup has encountered the following error:

The cached MSI file 'C:\Windows\Installer\a8f9954.msi' is missing.

Its original file is 'sql_fulltext.msi' and it was installed for product 'SQL

Server 2008 R2 SP1 Full text search' from 'H:\SQL Server Software\SQL_Svr_Standard_Edtn_2008_R2\x64\setup\', version '10.51.2500.0', language 'ENU'


To resolve this problem, recover the missing file from the installation media and start setup again.

For more information about how to resolve this problem, see

'Steps to restore the missing Windows Installer cache files' (http://go.microsoft.com/fwlink/?LinkId=144387) in the Microsoft Knowledge Base.



Error code 0x84B20002.




Reasons

  1. The files may have moved to another location from C:\windows\ or deleted.
  2. The installer files have been corrupted.



Resolution

Procedure 1: Use a script to find out missing installer files.


To find out the missing installer files, you have to copy the FindSQLInstalls.vbs script from the "More Information" section to a local folder on the computer where you are trying to update/patch your SQL Server installation.
Note The FindSQLInstalls.vbs script collects the information to correct invalid package paths. And, this script is used against the source locations to make sure that all MSP packages are in the Windows Installer cache directory. Any missing packages will be re-added if the original source media is available.
To resolve these problems by using a script, follow these steps:

  1. Locate the directory to which you saved the script content.
  2. Open an elevated command prompt to the directory to which you saved the script, and run the following command:



Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt

  1. Open the file from step 2 in a text editor such as Notepad, and identify the problems that are causing the failure. To do this, search the text file for string patterns such as the following:
    • do not
    • !!!
  2. Based on the results in step 3, take the steps that are required.The following section of the output advises you of actions that are required to resolve the missing files:



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\1fdb1aec.msp


Replace the existing file if prompted to do so.

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

!!!! C:\WINDOWS\Installer\1fdb1aec.msp DOES NOT exist in the Installer cache. !!!!

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





Procedure 2: Manually restore the files


Once you able to collect the missing files information you need to do a manually restore the files that are missing from the Windows Installer cache, follow these steps:

  1. Collect the complete details about the missing file from the error message, from the setup log file, or from the registry entries that are maintained by the Windows Installer. For example, in Error Message 1 in the "Symptoms" section, all the information that is required to resolve the issue is present in the error message:
  2. Extract the contents of the Service pack by using the following syntax:

C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\

  1. Locate the original msp file sql_engine_core_inst.msp file. The file should be in the following folder:

C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\

  1. Copy this original msp file to the following Windows Installer cache:

%windir%\installer\

  1. Rename the original msp file, sql_engine_core_inst.msp, to the following name:

cached msp file 1fdb1aec.msp


You can start the Setup program for the update that resulted in the error and resume the update process. You may encounter this message for a missing Windows Installer cache file for another component or for another update of the same product.


References

1 comment:

  1. You can my PowerShell script “Restore-InstallerFiles.ps1” which is capable to scan for the missing files and to restore them from different sources such as local folder, shared folder or another machine which can be accessed from the target machine.
    http://ahmad.jempress.com/post/restore-the-missing-windows-installer-cache-files
    https://gallery.technet.microsoft.com/scriptcenter/Restore-the-Missing-d11de3a1

    ReplyDelete