开发者

Custom-designed Shell doesn't work on Windows 7

We have a Server/Client cybercafe management application which used to work fine on Windows XP and Vista but now fai开发者_JAVA百科ls to run on Windows 7.

The Client was supposed to get 'Locked' on Client PCs of the Cybercafe, meaning it replaced Windows Explorer by changing the registry key

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell"

to the path to the Client application's EXE file.

This worked just fine on Windows XP and now on Windows 7, neither Explorer.exe nor Client.exe are run and just a blank, blue screen is shown.

We thought it might have something to do with UAC so we disabled it, with no luck. When we managed to start Explorer.exe on the Client PC through another computer, and used the Explorer window to open Client.exe, the Client started just fine.

(Note that running Explorer.exe didn't start Windows Shell and just opened an Explorer window, since the registry key was pointing to Client.exe and Shell doesn't start unless the registry key points to Explorer.exe)

Ideas, everyone? Any big difference between XP and 7 in this area?


Fixed it. Hope someone finds this useful:

A 32bit app running on 64bit Windows can't access certain areas of Windows Registry. The request to access that section is routed to some other key. That's why our application couldn't lock on Windows 7 (It was a 64bit Windows). Changing Client.exe from x86 to "Any CPU" in Visual Studio fixed the problem.

However, it was still necessary to disable UAC to allow the Client to work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜