What's the difference between these two custom shell registry keys (Win7)

0

I am a developer of a custom windows shell application which has been working with all of our clients for the past year, however a few machines have stopped launching it and instead launch explorer.exe.

I was investigating the registry settings and found 2 different current-user-based "Shell" entries that are referenced in various articles online to set a custom shell:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell

and

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

Until now I've been using the first one, and as I say, until now it's been working fine. Why do both of these keys exist, and what's the difference if both are reported to do the same thing?

Edit:

The machine I am currently troubleshooting on is running Windows 7 Home if that makes a difference.

tanGee

Posted 2017-04-05T12:39:45.257

Reputation: 101

Different Shells for Different Users and Group Policy Registry Table – Seth – 2017-04-05T12:45:21.253

1One is a group policy the other is logon entry. So you should have been using the second one – Ramhound – 2017-04-05T12:52:10.503

@Seth I saw https://msdn.microsoft.com/en-us/library/ms838576(v=winembedded.5).aspx but then noticed it was targeted at WinXP embedded

– tanGee – 2017-04-05T12:59:11.473

It still applies. If you read the article you will notice that the first part is more about Windows XP in general and the latter specific to the embedded version. What really matters here is what Ramhound said, you've been using a key that is meant to be used by group policies. As such it might just be that it's either better protected now or that your customer started to actually use group policies that influence the contents of that key. – Seth – 2017-04-05T13:18:01.033

No answers