1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Expert Sessions!

Never Delete files from c:\windows\installer directory

Tuesday, 31 July 2012 11:26

Written by Prakash Palani

Print E-mail


The reason for preserving files from installer directory is that Windows keeps all the necessary .msi/.msp files in that directory for the subsequent service pack upgrades, for example, if you install SQL 2005, windows will keep an .msi file in installer directory. Similarly when you apply service packs, windows will keep an .msp file into installer directory, if you apply 4 different service packs (SP2, SP3, SP4, SP5), then you will be able to see 4 different .msp file and one .msi (original installation) file in the installer directory. If you need to upgrade to SP6, then you will need all these .msi / .msp file in installer directory, even if you miss a single file in the whole chain, your service pack upgrade will fail for sure with the below message.

 

Another important fact is that, Windows does not keep the patch files with the same name, for example, it does not keep the file with name SQLRun_tools.msi, rather it will choose a random name like 4daiue.msi and will store it in installer directory.

If someone has deleted these randomly named files for some reasons, then you have two options as mentioned below to overcome the issue.

  1. Uninstall the whole SQL installation and start from Scratch
  2. Get the required .msi and .msp files from the respective installation/service packs and place it in the installer directory (very complicated process)

In this article, we will discuss about the option # 2.

Step 1 : Go through the log and find out which .msp / .msi is missing, log files are generally stored in c:\program files\microsoft sql server\90\Setup Bootstrap\log\.

Step 2 : Get the findsqlinstall.vbs from http://support.microsoft.com/kb/969052

Step 3 : Run the findsqlinstall.vbs (open command prompt -> cscript findsqlinstall.vbs output.txt)

Step 4 : Open the output.txt and search for missing file (i.e. 261ac60 which was identified from step 1)

 

Step 5 :  Find the Component and the KB article which has reference to 261ac60.msp, in addition to that make a note of Copy command that is marked in blue.

It indicates that 261ac60.msp got  originated from Service Pack 2 for SQL Server Database Services 2005 and the relevant KB article is 921896.

Step 5 : Go to the KB Article and download the service pack mentioned in Step 4 (http://support.microsoft.com/?kbid=921896)

Step 6: Once the required pack is downloaded, extract it to a local directory using below command.

Open Command Prompt -> Go to the directory where the download pack is available -> SQLServer2005SP2-KB921896-x64-ENU.exe /extract

Step 7: From step 4, it was identified that sqlrun_sql.msp should be copied as 261ac60.msp, so once the files are extracted as mentioned in step 6, go to the directory in which the files got extracted and search for sqlrun_sql.msp. Copy that file and paste it c:\windows\installer directory and rename it to 261ac60.msp.

Once you are done with all the above steps, you should be able to run sql sp upgrade without any errors, please note that there could be many other files missing, so you need to carry out similar exercise for each and every missing file from installer directory.

As I already mentioned, these steps are bit complicated and needs extreme attention towards which file you are dealing with, else sp upgrade failure will be a never ending story.

 

{fcomment} {flike}

Share

Never Delete files from c:\windows\installer directory