32 bit Exe of PropSheetHost SDK Sample Fails on x64 Vista with a missing MUI resource error

If you build a 32 bit executable version of the PropSheetHost SDK sample and then try to execute it on an x64 Vista machine without the x64 Microsoft Remote Server Administration Tools for Windows (RSAT) Vista installed, you will see just two property sheet tabs. Once you have installed and enable the RSAT tool, as soon as you start the program and enter a valid ADSPath, you will get dialog box "The Resource loader cache doesn't have the loaded MUI entry".

 

This is caused by a missing MUI file required by the WoW64 layer to display the resources exposed by the RSAT tools. Even with the RSAT tools, you will still get the resource error because the 32 bit MUI files required by the WoW64 sub system are not included in the 64 bit RSAT install.

 

The work around for this problem is straight forward.

1. Download the x86 version of the RSAT install package from the MS download site:

www.microsoft.com/downloads/details.aspx?FamilyID=9ff6e897-23ce-4a36-b7fc-d52065de9960&DisplayLang=en

2. Create a local directory and save the file to your x64 Vista machine.

3. Use the Expand command to extract the CAB file from the MSU package following the instructions documented in the KB:

support.microsoft.com/kb/928636

4. Look for the CAB cabinet file in your expansion directory. You should see two, one with the KB article in the title one that starts with WSUSSCAN.CAB. Use the cab file with the KB number in it.

 

The mui file required to make the sample work is ADPROP.DLL.MUI, so you now use the expand command to extract just that MUI file from the CAB file. The command line will look something like:

 

expand -F:adprop.dll.mui <Path_to_CAB_File_Extracted_From_MSU_File> <Path_To_Directory_To_Expand_MUI_File>

 

After executing this command, locate the adprop.dll.mui file. Copy this file to the <Windows Install Directory>\SysWoW64\en-US

 

Now the PropSheetHost SDK sample should work just as it did on x86 windows.