Developer: RhinoScript
Summary: Discusses the “Failed to create instance of VBScript engine” error.
The RhinoScript plug-in, included with Rhino, uses Microsoft's Visual Basic Script, or VBScript. The “Failed to create instance of VBScript engine” message is a result of RhinoScript's inability to connect with VBScript.
This error can be caused by the following:
Rhino 3.0, 4.0, and 5.0 (32-bit) use the 32-bit version of the VBScript dynamic-link library, VBSCRIPT.DLL. On English-language versions of 32-bit Windows, VBSCRIPT.DLL is located here:
C:\Windows\System32
On English-language versions of 64-bit Windows, 32-bit VBSCRIPT.DLL is located here:
C:\Windows\SysWOW64
Rhino 5.0 (64-bit) use the 64-bit version of VBSCRIPT.DLL. On English-language versions of 64-bit Windows, VBSCRIPT.DLL is located here:
C:\Windows\System32
If you search these folders and you are unable to locate VBSCRIPT.DLL, then you will need to re-install VBScript.
Install the latest Visual Basic Script engine from Microsoft for your Windows version
| Windows 2000 | Download and install VBScript version 5.6 for Windows 2000 from Microsoft |
| Windows XP | Download and install VBScript version 5.7 for Windows XP from Microsoft |
| Windows Vista or Windows 7 | No download necessary. The latest VBScript is already included with Windows Vista and Windows 7 |
Note, you can also install the latest VBScript by simply download and installing the latest version of Microsoft Internet Explorer.
In order for applications to use VBScript, it must be properly registered in the Windows Registry.
Rhino 3.0, 4.0, and 5.0 (32-bit) use the 32-bit version of VBScript. On English-language versions of 32-bit Windows, VBScript is registered here:
HKEY_CLASSES_ROOT\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}
On English-language versions of 64-bit Windows, 32-bit VBScript is registered here:
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}
Rhino 5.0 (64-bit) use the 64-bit version of VBScript. On English-language versions of 64-bit Windows, VBScript is registered here:
HKEY_CLASSES_ROOT\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}
If, using REGEDIT.EXE, you search for these keys and you are unable to locate them, then you will need to re-register VBScript.
Note that you must be logged in as administrator or logged in as a user with administrator privileges for the computer to execute these steps.
Many anti-virus, personal security, and firewall applications contain “script blocking” features that will prevent applictions from accessing VBScript. For example, Norton Antivirus has a Script Blocking feature what will disable VBScript. McAfee also has one that is even more destructive. See the second update below for details.
If you are running anti-virus, personal security, and firewall applications, you may have to disable their script blocking features. Check your product documentation for details.
Hey, had number of users who were getting the failed to created vbscript error when trying to start up both Rhino by itself and Matrix…even after trying everything on the wiki page that is available for that still no fix….remoted into users computer and found that all the users were using the latest McAfee Internet Suite and it renamed the path to the vbscript file in the registry to their own dll….changing this back got both Rhino and Matrix running…. HKEY_CLASSES_ROOT\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32 and value Default should be pointing to the C:\Windows\system32\vbscript.dll file…
On those users systems with McAfee it had pointed it to it’s own dll in it’s folder ( I guess to redirect…who knows)…anyway..putting this value back to correct (C:\Windows\system32\vbscript.dll) fixed….
Even trying to register would not fix this…had to manually edit this reg setting….
Hadn’t seen this on newsgroup or on wiki and thought if saved you guys any time would be worth it as took us awhile to track down and it prevents Rhino from running with any script support by itself…
-Chris Hancock
I just ran into another example of this. A user got a new computer from Dell with a 30-day trial version of a McAfee anti-virus tool. Even after uninstalling it, the two registry keys listed above, were pointing to place holder DLLs in the McAfee folders instead of where the two vbscript.dll files really were as indicated above. Even worse, their botched installer had stripped full rights from the Administrator account to edit the registry keys. I used PSEXEC as described below to restore full permissions to the Administrator account so I could manually change the keys to point back to the 32 and 64-bit vbscript.dll files.
To get Rhino sorted, you will probably have to manually edit your registry settings. There are two keys that tell Windows where VBScript.dll is on the local drive. These keys will be pointing to the wrong file and locations.
I think you'll find that:
[HKEY_CLASSES_ROOT\CLSID{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32]
points to:
C:\Program Files\McAfee\VirusScan Enterprise\scriptcl.dll
which is wrong. This causes VBScript to fail when any application tries to use it. A complete uninstall of McAfee will leave this key unmodified, causing VBScipt to fail since this McAfee dll no longer exists.
Manually changing the registry key to the windows default:
[HKEY_CLASSES_ROOT\CLSID{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32]
to:
C:\Windows\System32\vbscript.dll
fixes the problem for 64-bit V5 Rhino.
For 32-bit V5 on 64-bit Windows, this key:
HKEY_CLASSES_ROOT\Wow6432Node\CLSID{B54F3741-5B07-11cf-A4B0-00AA004A55E8\InprocServer32}
should point to:
C:\Windows\SysWOW64\vbscript.dll
-John Brock
If VBSCRIPT.DLL is present on your system and the module is properly registered, then you might not have enough rights to read the Windows Registry.
Note that you must be logged in as administrator or logged in as a user with administrator privileges for the computer to execute these steps.
Run REGEDIT.EXE and find the appropriate registry key in HKEY_CLASSES_ROOT, either:
HKEY_CLASSES_ROOT\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}
or
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}
Right-click on the key (in the left pane) and pick Permissions… from the context menu. For example:
Users should have the Read permission checked. If this is not the case, then the users permissions have been modified, which is causing RhinoScript to not be able to read this key. Registry permissions issues are often caused by security policies have been pushed down onto the workstations that are members of an Active Directory domain.
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor.
To set the permissions, navigate to the top of the hive, HKEY_CLASSES_ROOT, and try to set the proper permissions from there. In doing this, all keys below this hive will inherit the permissions (and hopefully the problem will be solved). If you are unable to do this, then you will need to contact your computer support staff and ask for assistance.