Where Classic Shell Settings are stored:Classic Start Menu stores its Settings in the Registry per-user account at HKCU\Software\IvoSoft\ClassicStartMenu\Settings reg branch. When you use the user interface to change the settings, new reg values are written at this branch. So you can either directly edit the Registry (while the Start Menu is not running or not installed), or use the Settings UI (which is supported while the Start Menu is running).
It is not recommended to edit the per-user settings while the Start Menu is running. Also, if you make any direct Registry edits, you must exit and restart the menu for changes to take effect. Or log out of your Windows account and login again.
How to lock settings to specific value for all users:
An administrator might want to lock and enforce specific settings for all user accounts, so no non-admin user can set them. This is possible via 2 methods. Either edit Registry directly or use Group Policy.
If you prefer to edit the Registry directly, the HKLM branch is used to lock and enforce settings for all accounts. In HKLM, the Start Menu settings are supported at:
HKLM\Software\IvoSoft\ClassicStartMenu (note that there is no \Settings subkey unlike HKCU).
To add a setting to HKLM, you need to know its value. The easiest way to know the Registry value of a setting and its value data is to modify it using the Settings GUI so it gets written to the HKCU branch, then look it up in HKCU\Software\IvoSoft\ClassicStartMenu\Settings and add the same setting to HKLM\Software\IvoSoft\ClassicStartMenu. (without the \Settings subkey).
So basically, you mirror the same settings which are in HKCU\Software\IvoSoft\ClassicStartMenu\Settings branch inside HKLM\Software\IvoSoft\ClassicStartMenu. That will enforce settings for all users.
How to enforce different defaults for all accounts but allow users to change them:In some cases you may not want to lock the value for all users, but simply modify the initial value of the setting, i.e. specify a different default setting for all users vs what is the predefined default. This is possible by appending _Default to the name of the registry value in the HKLM branch.
How to lock settings to the default value:Sometimes, you may want to lock a setting to its default value, but you don't know what the default value is. Then create a DWORD value for a setting with the appropriate name and set its value data to 0xDEFA.
Example for direct Registry editing:By default, the context menu is enabled in the Start Menu.
- To disable context menu for current user, set the Registry value 'EnableContextMenu' to 0 at
HKCU\Software\IvoSoft\ClassicStartMenu\Settings. Alternatively, use the Settings UI. Both will affect only the currently signed in account.
- To disable context menu for all users and lock it down, create and set the Registry value 'EnableContextMenu' to 0 at
HKLM\Software\IvoSoft\ClassicStartMenu. Or use Group Policy. Read below to understand the corresponding setting state in Group Policy.
- To disable context menu for all users by default but not lock it, create a Registry value 'EnableContextMenu_Default' to 0 at
HKLM\Software\IvoSoft\ClassicStartMenu. Or use Group Policy. Read below to understand the corresponding setting state in Group Policy.
These instructions are also applicable to Classic Explorer and Classic IE. Just change the appropriate Registry key paths for these components.
Group Policy Templates:You must extract the Group Policy templates (ADMX and ADML files) from C:\Program Files\Classic Shell\PolicyDefinitions.zip to the correct folder (either C:\Windows\PolicyDefinitions for Local Group Policy or to the Central Store for the domain controller at %logonserver%\sysvol\%userdnsdomain%\policies\PolicyDefinitions\).
What the Group Policy setting states mean:
Group Policy Settings under "Computer Configuration" can enforce settings for all users on that PC. Those under User Configuration can enforce them for only the currently logged-in user account.
- If you set the state to 'Locked to this value', the setting will be locked to the specified value (for all users if you set it under Computer Configuration) otherwise current user (User configuration).
- If you set the state to 'Locked to default', the setting will be locked to the predefined default value in Classic Shell (for all users if you set it under Computer Configuration) otherwise current user (User configuration). The specified value is ignored.
- If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value without enforcing it (for all users if you set it under Computer Configuration) otherwise current user (User configuration). Individual users can override the setting.
How to customize individual menu items & enforce them via Group PolicySee this post:
viewtopic.php?f=7&t=3374#p18752