RG025 – Converting ControlPanel apps to BuildingBlocks

By Max Ranzau

 

As an administrator or integrator, you may often find yourself in the situation you need to offer certain Controlpanel applets to the users. Unfortunately Workspace Manager doesn’t as of yet (in April 2010) offer the ability to import Control Panels as easily as it does regular applications. There is a nice article in the RESkb, which describes how to manually create some of the control panel applets for Windows XP. This article is to complement that article and complete the picture.

I’ve created a set of buildingblocks which includes every single applet to be found in standard Windows XP and Windows 7. On top of that there’s a set of Extras which includes some other nice control panel applets often found. Have a look at what’s inside below: (click to enlarge).

The Extra’s should work on both OS’s. All the applications are for safety reasons assigned to Administrative Role Technical Admin. The applications have been modified not to show up in new apps. I would recommend you assign these apps to a workspace container for the relevant Operating System when importing. To skip all the build-specific bits and go directly to the download, click here

How to build it yourself

I’m probably not going to maintain these buildingblocks in the future, so presuming moving forward you want to build your own Workspace Manager Control Panel applets, here is a generic method that works in most cases, where you are unable to find a control panel command line. The method is different from XP to Vista/Win7. My money’s personally on that you won’t have to deal with this in the future as Workspace Manager will likely be able to read CPL’s in the future. Until then, here are the methods I’ve used:

For Windows XP do the following:

  1. Create a new folder somewhere
  2. Open the Control Panel,  switch it to Classical View and mark everything (ctrl+a)
  3. Drag-n-drop shortcuts to the folder you created.
  4. Have a look here to see if there is a description of the shortcut you’re after, as it would save you time.
  5. Open one of the shortcuts in the folder with Notepad. This is necessary as the control panel shortcuts are created as namespaces (I think they’re called) therefore it won’t give up the path to the CPL file in question without a fight.
  6. If the contents of the shortcut file looks a bunch of binary barf like shown here on the right, it’s not a .CPL file which is being launched, but rather some CLSID stuff, which means proceed to step 1 in the next section below.
  7. Otherwise the shortcut should give us alot of goodies to use: The shortcut will contain both the path+filename of the control panel cpl file and the description as shown here on the right. These things can be cut-n-pasted directly into a Workspace Manager app:
  8. The commandline of the app should read: %windir%\system32\rundll32.exe
  9. The parameters line should read: shell32.dll,Control_RunDLL <your.cpl> If your.cpl is located somewhere outside the system path (typically somewhere else than system32\, you will need to specify the path. Remember to add “quotes” if the path+filename contains spaces.
  10. The last thing to do is to browse the icon. However, we need to trick the Workspace Manager 9.0.0.1 console into reading the .CPL file as it ignores these per default. This can be done quite easily by making a copy of the .CPL file and rename the copy to .DLL extension (yes, that actually works!) Then edit the app and hit the browse button.
  11. You may encounter .CPL files which do not contain the correct (if any) icons. If this is the case, view the properties of the copied shortcuts created in step 3 above. On the properties sheet, click Change icon. In the top of the resulting dialog box, you will see what file contains the icon for the Folder Options control panel item. In this case it is sitting in system32\shell32.dll
  12. Browse to this file’s location in the Workspace Manager console.
  13. Repeat steps 4-12 for all .CPL based shortcuts

Dealing with non .cpl based shortcuts. You may run into shortcuts that do not point to .CPL files, but instead special shell folders. Current examples of these are control panel items Folder Options, Scheduled Tasks and Printers. If you ran into one of these in step 5 above, you need a different approach:

  1. First have a look on this page. You might be lucky the item you are looking for is listed here-
  2. Open RegEdit and navigate to HKEY_CLASSES_ROOT\CLSID\
  3. Search (ctrl+f) for the name of the shortcut. In this example Folder Options
  4. Keep searching (f3) until you find a {clsid} key where the (Default) value matches your search name. In this example the key name will be {6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}
  5. Below this key, browse to \Shell\Open\Command. The (Default) value here will contain the command we need to launch the special shell window. In this example the command line is: rundll32.exe shell32.dll,Options_RunDLL 0
  6. In the Workspace Manager console, browse to the file that contains the icon for the app, as described in step 11-12 in the previous section.

For Windows 7 / Vista the procedure is somewhat simpler, as you are allowed to call control panel applets by their Friendly Name. This is good as there’s hardly any .cpl files left in Win7 anyway. The generic commandline is control.exe /name Microsoft.ControlPanelNameWithoutSpaces. For example, the commandline to launch Action Center would be control.exe /name Microsoft.ActionCenter. There is a tonne of listings for different applets here and here.

  1. Create a new folder somewhere
  2. Open Control panel and switch the view to Large Icons. One by one drag a shortcut to each control panel applet into the folder you created. Sorry, Win7 doesn’t seem to allow us to copy more than one shortcut from the Control panel at one time.
  3. Once the shortcuts are created, open the properties on a shortcut.
  4. Mark and copy the name of the app. Paste this into a new Workspace Manager app, as the title and as part of the parameters (remember to remove all spaces from the name). Click on the Change icon button to find out where the icon is stored. Use the instructions in step 11-12 above.
  5. The last part is how to get the description string for the applet. If you have launched the applet previously, the string should be sitting in one of the MRU caches in the registry.
  6. Go to the control panel. Hover the mouse above the selected control panel applet, until the description appears.
  7. Open regedit.exe and naviagate to HKEY_CLASSES_ROOT\Local Settings\MuiCache
  8. Search (ctrl+f) on a part of the string from the description and you should find the whole string here, ready to paste into Workspace Manager.

In some cases I’ve had trouble extracting the required icon with Workspace Manager. In those cases I used a freeware extraction tool such as IconExtract from NirSoft.

Download!

Okay, here are the buildingblocks for the 3 sets of Workspace Manager Control Panel applets. They have been zipped into one archive. There is one buildingblock for Win7, XP and the Extras. Enjoy!

Click here to download:

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.