Skip navigation

How Do I Fix File Type Associations ?

Depending on the type of file type error  you wish to fix there are several ways to correct  a problem. I am going to cover  how to fix common  file associates, system associations, and finally how to fix .msi errors.

First it is not difficult to change or fix an error with a file type. simply open Default Programs in Control Panels and change to program used to open the file or reset the program defaults.

It is not as simple to fix system file errors.

      • Fix you need to open the CMD Prompt as administrator
      • Next  Type:  sfc /scannow
      • Wait for System file Checker to run an fix errors.
      • To determine which files could not be repaired by the System File Checker tool, follow these steps:
  •  Type: findstr /c:”[SR]” %windir%\Logs\CBS\CBS.log >%userprofile%\Desktop\sfcdetails.txt

Note The Sfcdetails.txt file contains details from every time that the System File Checker tool has been run on the computer. The file includes information about files that were not repaired by the System File Checker tool. Verify the date and time entries to determine the problem files that were found the last time that you ran the System File Checker tool.

  1. Type: “sfcdetails.txt” in Search programs and files 

The Sfcdetails.txt file uses the following format:

Date/Time SFC detail

The following sample log file contains an entry for a file that could not be repaired:

  • 2007-01-12 12:10:42, Info                  CSI    00000008 [SR] Cannot
    repair member file [l:34{17}]"Accessibility.dll" of Accessibility, Version =
    6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral,
    VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type
    neutral, TypeName neutral, PublicKey neutral in the store, file is missing
  • To fix file Type: takeown /f Path_And_File_Name

For example, type takeown /f E:\windows\system32\jscript.dll.

  • Type: icacls Path_And_File_Name /GRANTADMINISTRATORS:F
  • Type: Copy Path_And_File_Name_Of_Source_FilePath_And_File_Name_Of_Destination

For example, type copy E:\temp\jscript.dll E:\windows\system32\jscript.dll.

Finally, to fix .msi the simpliest method is to try and run the Microsoft FixIt:

http://support.microsoft.com/kb/971187#FixItForMeAlways

I am reposting Microsoft’s directions on a manual fix as well below as it is similar to the method I would use:

To fix this problem, follow these steps:

  1. Confirm that the product is affected. To do this, follow these steps:
    1. Find the software updateregistration of the product by opening the following registry subkey:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\\Products\\Patches

      Under this subkey, there will be a subkey for every software update that was applied to the product.

    2. For each subkey that is in the following format, perform the following step:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>
      • Verify that the following subkey exists:
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

        If the subkey is missing, the product is affected. Continue to step 2.

        If the subkey exists, verify that the LocalPackage string value is set correctly, and that the package referenced by the LocalPackage string value also exists.

        1. If the LocalPackage string value or referenced package is missing, the product is affected. Continue to step 2.
        2. If the referenced package exists and no additional action is required.
  2. Re-create software update cache registry details. To do this, follow these steps:
    1. Search the %windir%\installer\*.msp for the software update that you tried to install. Verify that the software update has the correct Patch GUID in the Summary Information Stream and targets the correct product GUIDs.
      Note Because this directory serves as the cache for per-user installations and per-machine installations, you can simulate a software update in this directory by using a per-user installation.
    2. Create the following subkey:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Note It is a security risk to re-create the software update cache registry. However, this is the only way to repair the corruption. You can reduce the security risk by making sure that the software update is the correct software update. To do this, verify the checksum of the software update.

    3. Create a LocalPackage string value in the registry subkey that you created step 2,b. Make sure that the LocalPackage string value is set to the path of the software update.
  3. Delete remaining software update references. To do this, follow these steps:
    1. Open the following subkey, and then removefrom the “AllPatches” multi-sz value:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
    2. Delete the following registry subkey:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>
    3. Delete the following registry subkey:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Note If this subkey is missing, skip this step.

    4. If the product was installed per-machine, follow these steps:
      1. Open the following subkey:
        HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches
        1. If the <PatchSQUID> string value is present, delete it.
        2. If the <PatchSQUID> string value is present in the “Patches” Multi-sz value, delete the <PatchSQUID> string value.
      2. If following registry subkey is present, delete it:
        HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>
    5. If the product was installed per-user unmanaged:
      1. Open the following registry subkey:
        HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches
        1. If the <PatchSQUID> string value is present, delete it.
        2. If the <PatchSQUID> from the “Patches” Multi-sz value is present, remove it.
      2. If following registry subkey is present, delete it:
        HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>
    6. If the product was installed per-user managed:
      1. Open the following registry subkey:
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches
        1. If the <PatchSQUID> string value is present, delete it.
        2. If the <PatchSQUID> from the “Patches” Multi-sz value is present, remove it.
      2. If the following registry subkey is present, delete it:
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

I Hope this Blog will prove useful to many of you and as always feel free to contact us should you ave any furthet questions,

Trent

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s