I was working with a potential customer the other day and they had mentioned they wanted to customize the performance of Visual Effects for the Windows Explorer in Windows 7. After some quick investigation, we realized that there was no dedicated GPO to control that feature. In order to get the customizations pushed out to all the Unidesk desktops in their environment I came up with the following procedure to create a registry script that will make these changes for you.

The first thing that you need to do is create a registry file, I named mine performance.reg, with the following in it:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
"VisualFXSetting"=dword:00000003

This will enable the custom setting for the visual performance section that you see below.

Performance Options

When you check and uncheck fields in this wizard a hexadecimal value is written to the registry. This hex value is what we will want to record so that the changes can be pushed out via a layer. At this point make the changes to the performance wizard that you want to make. Below I have disabled the first three animation options.

Visual Effects

Now you'll want to navigate through the registry to HKEY_CURRENT_USER\Control Panel\Desktop, which will contain a value "UserPreferencesMask". The hexadecimal number in that field will correspond to the changes we just made, as you can see in my value below.

Registry Editor

Copy that value into your registry script from before, below is an example of what mine looked like after adding my values.

[HKEY_CURRENT_USER\Control Panel\Desktop]

"UserPreferencesMask"=hex:9e,3e,07,80,10,00,00,00

Your final registry script should look like the screenshot of mine below, the difference of course will be the values for UserPreferencesMask.

UserPreferencesMask

Save the changes to the registry file and move it to C:\Windows\Setup\Scripts.

We will now add a few lines to SetupComplete.cmd in order to ensure that the new values are going to be added to the registry. SetupComplete.cmd is a standard Windows script that gets called at the end of Mini-Setup. Looking at your SetupComplete.cmd you'll notice a number of Unidesk items already in there, such as setting the KMS key, and running the optimization script. Add the following lines to the end to correctly call the registry script.

REM --------------------------------------------------------------------------
REM Add the performance tweaks
Regedit /s performance.reg
REM --------------------------------------------------------------------------

You script should now look like mine does below.

SetupComplete.cmd

At this point you can go back into the Unidesk UI and finalize the layer. Any new desktops that you create with this layer assigned to them will have all of the performance options you made assigned to them. It is very important to note that this will only happen to new Desktops as the SetupComplete.cmd will only be called during Mini-Setup.