Posts Tagged ‘Technology’
Sometimes an application hangs within a Citrix session without any reason and works without any problems via a RDP connection. The application will view an empty or a flickering screen; sometimes the mousecursor is even trapped within this screen.
This mostly occurs with an application built with the Windows Presentation Foundation SDK. The Windows Presentation Foundation SDK enables the programmer to use 3D acceleration with Direct3D/DirectX. And here resides the problem:
When a third party terminal service client is used (such as Citrix) in combination with a WPS application on a Windows 2003 server, the application will check the 3D capabilities of the machine. The capabilities are stored in a file named d3d9caps.dat and is normally stored in the System32 folder of the machine. When the information in this file is not accurate, the file will be regenerated.
The crull pit is, when a normal used is logged in, this user does not have the right permissions to overwrite the file and gets an access denied error on this file. The appication, however, keeps trying to regenerate the file over and over again which results into a hanging application and screenflicker.
Microsoft already has a patch for this (http://support.microsoft.com/kb/955692) so the d3d9caps.dat is stored in “%USERPROFILE%\Local Settings\Application Data” but it seems like if the d3d9caps.dat is present in the System32 folder, this file will always be used.
Deleting the d3d9caps.dat will unfreeze the application immediately and the d3d9caps.dat in the userprofile is used.
How is it possible that the d3d9caps.dat doesn’t have the right information and needs to be regenerated? Maybe the systemconfiguration is changed. More RAM is added or something like that.
It seems like it’s clever to check the existence of this file on every reboot and delete it to prevent applications to freeze. Changing permissions, so normal users have change permissions on this file, doesn’t seem to work because the file is deleted before it’s regenerated and normal users aren’t allowed to create files in the system32 folder.
Tags: "Application Software", "Microsoft Windows", "Windows 2003" Server, Citrix, Computer, crash, d3d9caps.dat, Direct3d, Directx9, flicker, freeze, hang, SDK, Technology, Windows, WPS