How to Troubleshoot MSI and MSP Files Issues:
This TSG is aimed at providing troubleshooting
steps to resolve any MSI and MSP files issues.
Background or cause
Many times while patching or installation of SQL SERVER we have come across issues of missing MSI and MSP
files.
The Windows Installer database file
(http://msdn.microsoft.com/en-us/library/aa369395(VS.85).aspx) [.msi] or the Windows Installer patch file
(http://msdn.microsoft.com/en-us/library/aa370596(VS.85).aspx) [.msp] is missing from the Windows Installer
cache. The Windows Installer cache is present in the folder: %windir%\installer.
When a product is installed using Windows Installer, a stripped version of the original .msi file is stored in the Windows Installer cache. Every update to the product [hotfix, cumulative update or service pack setup] also stores the relevant .msp or .msi file in the Windows Installer cache.
Any future update to the product [hotfix, cumulative update or service pack setup] relies on the information present in the files stored in the Windows Installer cache. Without this information, the new patch cannot perform the required transformations.
When a product is installed using Windows Installer, a stripped version of the original .msi file is stored in the Windows Installer cache. Every update to the product [hotfix, cumulative update or service pack setup] also stores the relevant .msp or .msi file in the Windows Installer cache.
Any future update to the product [hotfix, cumulative update or service pack setup] relies on the information present in the files stored in the Windows Installer cache. Without this information, the new patch cannot perform the required transformations.
Symptoms
SQL Server Setup has encountered
the following error:
1) When we started to
do the Installation or Up gradation on the SQL Server if MSI and MSP files
missing then we encountered below errors :
2)
After getting above errors , we have to
check in error log using below path to identifying the exact error
“C:\Program Files\Microsoft SQL
Server\100\Setup Bootstrap\Log\Summary.txt”.
Resolution
Please follow the below steps for resolution
if MSI files :
1)
Before fixing MSI and MSP files , need
to run the VBS script to capture all missing MSI and MSP files
2) Firstly, Create empty folder with
Name as MSI\MSP in any drive which having enough space.
3) After creating folder, Copy the text
mentioned under FindSQLInstallsOnly.vbs Script content to a Notepad and rename
the file to FindSQLInstallsOnly.vbs.
4) After creating folder, Copy the text
5) Open a Command Prompt and browse to
the location where this VBS script is located.
Run the following command :
“Cscript FindSQLInstallsOnly.vbs %Server
name%_sql_install_details.txt “
6) After running the above command and
review the Output which have created as text document . Find the find the error
with Missing files and getting error as
highlighted below:
================================================================================
PRODUCT NAME :
Microsoft SQL Server 2008 R2 RsFx Driver
================================================================================
Product Code:
{D8C23BDE-4748-44D9-A9DD-8AB64EB18BE3}
Version : 10.51.2500.0
Most Current
Install Date: 20110804
Target Install
Location:
Registry Path:
HKEY_CLASSES_ROOT\Installer\Products\EDB32C8D84749D449ADDA86BE41BB83E\SourceList
Package : rsfx.msi
Install
Source: \x64\setup\
LastUsedSource: n;1;o:\6c4e8f5248900e41e6b64c80d1\x64\setup\
!!!! rsfx.msi
DOES NOT exist on the path in the path o:\6c4e8f5248900e41e6b64c80d1\x64\setup\
!!!!
Action needed,
re-establish the path to o:\6c4e8f5248900e41e6b64c80d1\x64\setup\
Installer Cache
File: C:\Windows\Installer\6690cd2.msi
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! C:\Windows\Installer\6690cd2.msi DOES NOT
exist in the Installer cache. !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Action needed, recreate
or re-establish path to the directory:
o:\6c4e8f5248900e41e6b64c80d1\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
"o:\6c4e8f5248900e41e6b64c80d1\x64\setup\rsfx.msi"
C:\Windows\Installer\6690cd2.msi
Replace the
existing file if prompted to do so.
7) Fixing
MSI Files :
Launch media go to last used path or location of the file and then copy
the file to Installer cache and rename with as shown in VBS script file (Repeat
this step for all missing files).
Ex: As per above details
Goto the last used path with exists (o:\6c4e8f5248900e41e6b64c80d1\x64\setup\) or If this error message was generated for rsfx.msi, then you need to locate this file
from the setup media under the folder structure: \x64\setup\rsfx_msi\.
Rename with rsfx.msi to 6690cd2.msi and copy in Installer cache which as shown in VBS script file
(Repeat this step for all missing files).
Fixing MSP files :
1)Get the details of all the KB article and download it.
2)Copy the text mentioned under
RepairSource_v3.js Script content to a Notepad and rename the file to
RepairSource_v3.js.
3)Create folder with name as Extract
folder in any drive to extract the MSP files as shown below
4)Run the below script for each of the extracted KB’s.
Cscript RepairSource_v3.js <Extraction
path>
5)Restore
the files that are missing from the Windows Installer cache. The steps to do
this are outlined below:
Gather the complete details about the missing file from the error message or the setup log file or registry entries maintained by the Windows Installer. In the example shown above, all the information required to resolve the issue is present in the error message itself:
Patch Name: "Hotfix 1702 for SQL Server 2008 R2 (KB981355) (64-bit)"
Original MSP file used by the Patch: sql_engine_core_inst.msp
Cached MSP file: c:\Windows\Installer\1fdb1aec.msp
If you do not have all the details, refer to the More Information section for the steps to get these details.
Go to http://support.microsoft.com (http://support.microsoft.com/) and search for the KB article associated with this patch. In this example, you will search for KB981355.
Download this patch package to your computer. Make sure to download the patch package that corresponds to the required platform. In this example, it would be SQLServer2008R2-KB981355-x64.exe.
Extract the contents of the patch package using the syntax:
C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64
Now locate the original msp file sql_engine_core_inst.msp. It should be present in the folder: C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
Copy this original msp file to the Windows Installer cache: %windir%\installer\
Rename the original msp file sql_engine_core_inst.msp to the cached msp file 1fdb1aec.msp
You can launch the setup program for the patch that resulted in the error and resume the patch process. It is possible that you encounter this message for a missing Windows Installer cache file for another component or another patch of the same product.
Gather the complete details about the missing file from the error message or the setup log file or registry entries maintained by the Windows Installer. In the example shown above, all the information required to resolve the issue is present in the error message itself:
Patch Name: "Hotfix 1702 for SQL Server 2008 R2 (KB981355) (64-bit)"
Original MSP file used by the Patch: sql_engine_core_inst.msp
Cached MSP file: c:\Windows\Installer\1fdb1aec.msp
If you do not have all the details, refer to the More Information section for the steps to get these details.
Go to http://support.microsoft.com (http://support.microsoft.com/) and search for the KB article associated with this patch. In this example, you will search for KB981355.
Download this patch package to your computer. Make sure to download the patch package that corresponds to the required platform. In this example, it would be SQLServer2008R2-KB981355-x64.exe.
Extract the contents of the patch package using the syntax:
C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64
Now locate the original msp file sql_engine_core_inst.msp. It should be present in the folder: C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
Copy this original msp file to the Windows Installer cache: %windir%\installer\
Rename the original msp file sql_engine_core_inst.msp to the cached msp file 1fdb1aec.msp
You can launch the setup program for the patch that resulted in the error and resume the patch process. It is possible that you encounter this message for a missing Windows Installer cache file for another component or another patch of the same product.
6)Repeat for all the KB articles that are extracted.
The output looks like :
7)Rerun FindSQLInstallsOnly.vbs and no more missing MSI and MSP files.
8)Finally repair the SQL Server and proceed
with installation or upgradation.
No comments:
Post a Comment