> The issue I am addressing involves VNC 3.3.4 and Windows (XP) user profiles, > with a side result of the registry being locked (and ultimately corrupted). [snip]
I have found one potential cause of this problem. See below. > So about that registry? Running under the default VNC 3.3.4 service > configuration, VNC locks the "current user" registry, and the registry > ultimately becomes corrupted. On logoff, shutdown, or reboot, the following > application event warning is logged: "Windows saved user <Computer > Name>\<User ID> registry while an application or service was still using the > registry during logoff. The memory used by the user's registry has not been > freed. The registry will be unloaded when it is no longer in use. [snip] The error message above does NOT indicate registry corruption. All it is in fact saying is that the OS cannot unload the user's registry hive, and will instead unload it when it is no longer in use by any processes. > As a result of the registry being corrupted, I cannot run SysPrep to prepare > for deployment; I have not noticed any other averse circumstances so far. In general, the above error should have few adverse side-effects. the main problem it would cause would be that since the user's registry cannot be unloaded normally, their profile cannot be replicated. Also, any task which requires that the user's registry be unloaded could fail. The possible cause: The current release of WinVNC uses a VNCHooks.dll, which is injected into running applications which have windows on the current desktop, in order to obtain feedback on when parts of the screen may have changed. The DLL reads some settings from the user's registry hive. The DLL is only unloaded from a process either when all clients disconnect from the WinVNC server, or when that process quits. So it is possible that a system service (i.e. a process which does not get killed when the user logs out) could produce a window on the desktop directly, causing it to be hooked by VNCHooks. VNCHooks would then open the user registry when a VNC connection was active. If the user logs out over the VNC connection, the VNCHooks DLL would remain active in the service that had displayed a window. The DLL would still hold a key to the user's registry, preventing it from being freed properly. I hacve produced a replacement DLL which should fix this problem. If anyone can reliably reproduce the problem then I can send them a copy of the DLL to test. Cheers, -- Wez @ RealVNC Ltd. - http://www.realvnc.com Open Source VNC - Commercial Support & Development _______________________________________________ VNC-List mailing list [EMAIL PROTECTED] http://www.realvnc.com/mailman/listinfo/vnc-list
