This means that the BrowserHawk ActiveX/COM component is not registered properly on the server that the web page is running on or that permissions are not set as required. Note that this error can also show up as "Invalid ProgID" or "can't create ActiveX object".
The first thing to check is whether you are running BrowserHawk 10.x or earlier on a native 64 bit operating system with IIS set to run 64 bit worker processes. If so, then you need to upgrade to BrowserHawk 11.0 or later to resolve the issue.
If you are not running on a 64 bit operating system with IIS set to use 64 bit worker processes then read on...
Be sure to run the BrowserHawk installation program on all web servers that you will use BrowserHawk on.
If you feel you have already run the installation on the web server, double check to make absolutely certain that the web server you are getting this error on has BrowserHawk installed (it may be possible your web script is executing on a different server than it may appear at first so check this carefully).
Once you are certain that you have run the installation on your server which the ASP script is running on, the next thing to check is that you do not have a typo in the Server.CreateObject statement. Make sure you have Server.CreateObject("cyScape.browserObj"), as a typo in this string will result in that error.
Another possibility is that the software may have been uninstalled or become unregistered - try uninstalling and then reinstalling, or try the Repair option provided by the uninstaller. You can also try reregistering the cyscapesvr.dll file using regsvr32.
Another possibility is that you are running on a x64 bit operating system with IIS running in native x64 mode. Currently the BrowserHawk COM object is available only as a native x32 bit component. Therefore you will need to configure IIS to run with x32 bit work processes to use BH in this environment. See this Microsoft KB article for more information.
If the issue persists after performing the above steps, then it is likely a problem with inadequate registry and/or file permissions. Use the following steps to check these permissions:
- Check the cyscapesvr.dll file in your system32 directory. Make certain that the IUSR_xxxx account or the Everyone account has at least Read permissions on the file.
- Use regedit and find the following keys:
- \hkey_classes_root\
-
\hkey_classes_root\TypeLib\{473B24E1-2658-11D3-B026-9E8D4D000000}
- Check permissions on the above keys to make certain that the IUSR_xxxx account or the Everyone account has at least Read permissions on the keys and all subkeys. If not add these permissions.
- Re-register the component by going to a command line in your system32 folder and entering "regsvr32 cyscapesvr.dll"
- Retry your ASP page that was returning the CreateObject failed error. The issue should now be resolved.
If the issue persists after performing these steps, please download the regmon and filemon utilities from Microsoft. Run these on your system, hit a page on your site that causes the invalid class string error, and then search the output from these utilities for access denied messages. This should will pinpoint the exact registry key or file that does not have sufficient privileges. Setting permissions as described above on the identified registry key or file should resolve the issue.