Tuesday 19 February 2008

SoftGrid error code: xxxxxx-xxxxxx0A-20000194

Just had this error when accessing SoftGrid applications and not obvious how to resolve it. A "Launch Failed" error occurs with an error code ending 20000194. On further investigation the error was only occurring when the client was talking to one of the two NLB SoftGrid servers.

According to http://support.microsoft.com/kb/930614 one of the causes for the 20000194 error is that "The path or the .sft file name that is specified" is invalid and that we should look at the sft-server.log on the SoftGrid Virtual Application Server (normally in "C:\Program Files\Softricity\SoftGrid Server\logs")

The sft-server.log for the problem server showed "File not found: C:\Program Files\Softricity\SoftGrid Server\content\.......sft" and "Unable to open C:\Program Files\Softricity\SoftGrid Server\content\.......sft"

The path "C:\Program Files\Softricity\SoftGrid Server\content\" for our setup where we have the SoftGrid content set as "D:\SoftGridContent\" (specified during setup), was incorrect.

Nowhere in the SoftGrid management console was I able to find the SoftGrid content location but a search of the registry on the offending server showed the following key to be incorrect:

HKEY_LOCAL_MACHINE\SOFTWARE\Softricity\SoftGrid Server\CurrentVersion
SOFTRICITY_SOFTGRID_CONTENT_DIR = D:\SoftGridContent\

Once this was changed to the correct content location, and the SoftGrid Virtual Application Server service restarted, all was ok.

How this had come to be incorrect, I'm not sure but we did recently move the SQL database so perhaps this had confused SoftGrid and caused the setting to default to C:\Program Files.

And to answer the question why SoftGrid uses a local path such as D:\SoftGridContent\ for its content directory, this is because this is the part of SoftGrid (the .sft stream) which is served out as an RTSP stream by the Virtual Application Server so only the server needs to be able to see the content location. In contrast, the .ico and .osd files need to be accessible over the network via UNC or HTTP as this is what the client needs to know about where to find the application.

No comments: