Change HTML windows xp user account CPL to windows 2000 one?

Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
Post Reply
superlions16
User avatar
Posts: 108
Joined: Mon Jan 22, 2018 12:41 am
Location: on the other side

Change HTML windows xp user account CPL to windows 2000 one?

Post by superlions16 »

I am still working on a XP mod and I would like to know how to bring back the Windows 2000 user account manager instead of the XP one. Thanks. :)
Nothing to post here.

3155ffGd
User avatar
Posts: 391
Joined: Wed May 02, 2012 12:57 am

Re: Change HTML windows xp user account CPL to windows 2000

Post by 3155ffGd »

Back in the day there were many many registry hacks that added the old Windows 2000 users applet to the control panel. Here's one (very popular) example:

https://web.archive.org/web/20040415041 ... s2ToCP.reg

You'll have to adjust this to your needs, for example the default icon set here is truly terrible. I think the correct icon is found in netplwiz.dll but I'd double check on that.

Removing the Windows XP CPL is easy, just delete nusrmgr.cpl.

superlions16
User avatar
Posts: 108
Joined: Mon Jan 22, 2018 12:41 am
Location: on the other side

Re: Change HTML windows xp user account CPL to windows 2000

Post by superlions16 »

3155ffGd wrote:Back in the day there were many many registry hacks that added the old Windows 2000 users applet to the control panel. Here's one (very popular) example:

https://web.archive.org/web/20040415041 ... s2ToCP.reg

You'll have to adjust this to your needs, for example the default icon set here is truly terrible. I think the correct icon is found in netplwiz.dll but I'd double check on that.

Removing the Windows XP CPL is easy, just delete nusrmgr.cpl.
Thanks, but how do I use this hack during Setup of Windows? Is there an option in nLite?
Nothing to post here.

3155ffGd
User avatar
Posts: 391
Joined: Wed May 02, 2012 12:57 am

Re: Change HTML windows xp user account CPL to windows 2000

Post by 3155ffGd »

The lazy way is to just add these entries to HIVECLS.INF.

The non-lazy way is to check at which point the Control Panel gets registered in the registry. A few DLLs have built-in INF files in their resources which they use to register themselves during Setup (e. g. shell32.dll, shdocvw.dll), but I haven't found out yet which DLL is responsible for the Control Panel.

EDIT: I found it.

Open netplwiz.dll in Resource Hacker and look at the REGINST section and you'll see a section "UnRegWorkstation". The Windows 2000 User Accounts Control Panel applet is actually added as a CLSID, but never appears in Control Panel because the NameSpace entry is deleted (if it's already there, e. g. from a Windows 2000 upgrade). The correct way, then, would be to delete the [UnRegWorkstation] section and add the line to the above section, [RegWorkstation] instead. The [RegDllWorkstation] section at the very top then needs to be adjusted to remove the "DelReg=UnRegWorkstation".

superlions16
User avatar
Posts: 108
Joined: Mon Jan 22, 2018 12:41 am
Location: on the other side

Re: Change HTML windows xp user account CPL to windows 2000

Post by superlions16 »

3155ffGd wrote:The lazy way is to just add these entries to HIVECLS.INF.

The non-lazy way is to check at which point the Control Panel gets registered in the registry. A few DLLs have built-in INF files in their resources which they use to register themselves during Setup (e. g. shell32.dll, shdocvw.dll), but I haven't found out yet which DLL is responsible for the Control Panel.

EDIT: I found it.

Open netplwiz.dll in Resource Hacker and look at the REGINST section and you'll see a section "UnRegWorkstation". The Windows 2000 User Accounts Control Panel applet is actually added as a CLSID, but never appears in Control Panel because the NameSpace entry is deleted (if it's already there, e. g. from a Windows 2000 upgrade). The correct way, then, would be to delete the [UnRegWorkstation] section and add the line to the above section, [RegWorkstation] instead. The [RegDllWorkstation] section at the very top then needs to be adjusted to remove the "DelReg=UnRegWorkstation".
I get this:

[RegDllWorkstation]
RequiredEngine=SETUPAPI,%ERR_NOSETUPAPI%
AddReg=RegWorkstation
DelReg=UnRegWorkstation

so is it like this?
[RegDllWorkstation]
RequiredEngine=SETUPAPI,%ERR_NOSETUPAPI%
DelReg=UnRegWorkstation
AddReg=RegWorkstation

if not, are you able to paste the new code? i'm having trouble understanding the directions.
Nothing to post here.

3155ffGd
User avatar
Posts: 391
Joined: Wed May 02, 2012 12:57 am

Re: Change HTML windows xp user account CPL to windows 2000

Post by 3155ffGd »

Hold on, I just turned on clipboard sharing between host and guest and it actually works for once.

So this:

Code: Select all

[RegWorkstation]
HKCR,"CLSID\%CLSID_UsersAndPasswords%",,,"%DESC_UsersAndPasswords%"
HKCR,"CLSID\%CLSID_UsersAndPasswords%","InfoTip",,"%IT_UsersAndPasswords%"
HKCR,"CLSID\%CLSID_UsersAndPasswords%\ShellFolder",Attributes,%REGDW%,0x00000000
HKCR,"CLSID\%CLSID_UsersAndPasswords%\DefaultIcon",,%REGEXSZ%,"%_SYS_MOD_PATH%,-102"
HKCR,"CLSID\%CLSID_UsersAndPasswords%\Shell\Open\Command",,%REGEXSZ%,"rundll32.exe %_SYS_MOD_PATH%,UsersRunDll"
HKLM,"%SMWCVSEA%","%CLSID_UsersAndPasswords%",,"%DESC_UsersAndPasswords%"
[UnRegWorkstation]
HKLM,"%PATH_EXPLORER%\ControlPanel\NameSpace\%CLSID_UsersAndPasswords%"
Would look like this instead:

Code: Select all

[RegWorkstation]
HKCR,"CLSID\%CLSID_UsersAndPasswords%",,,"%DESC_UsersAndPasswords%"
HKCR,"CLSID\%CLSID_UsersAndPasswords%","InfoTip",,"%IT_UsersAndPasswords%"
HKCR,"CLSID\%CLSID_UsersAndPasswords%\ShellFolder",Attributes,%REGDW%,0x00000000
HKCR,"CLSID\%CLSID_UsersAndPasswords%\DefaultIcon",,%REGEXSZ%,"%_SYS_MOD_PATH%,-102"
HKCR,"CLSID\%CLSID_UsersAndPasswords%\Shell\Open\Command",,%REGEXSZ%,"rundll32.exe %_SYS_MOD_PATH%,UsersRunDll"
HKLM,"%SMWCVSEA%","%CLSID_UsersAndPasswords%",,"%DESC_UsersAndPasswords%"
HKLM,"%PATH_EXPLORER%\ControlPanel\NameSpace\%CLSID_UsersAndPasswords%"
And this:

Code: Select all

[RegDllWorkstation]
RequiredEngine=SETUPAPI,%ERR_NOSETUPAPI%
AddReg=RegWorkstation
DelReg=UnRegWorkstation
Would look like this:

Code: Select all

[RegDllWorkstation]
RequiredEngine=SETUPAPI,%ERR_NOSETUPAPI%
AddReg=RegWorkstation

Post Reply