Error 800a01ad when starting a *.vbs file on Windows 64-bit

Share your tips, tricks and favorite iMacros macros, scripts and applications for web automation in general here.
Forum rules
iMacros EOL - Attention!

The renewal maintenance has officially ended for Progress iMacros effective November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.

Thank you again for your business and support.

Sincerely,
The Progress Team
Post Reply
User avatar
Tech Support
Posts: 4948
Joined: Tue Sep 20, 2005 7:25 pm
Contact:

Error 800a01ad when starting a *.vbs file on Windows 64-bit

Post by Tech Support » Mon Feb 19, 2007 12:53 pm

Welcome to WOW64. You have to be aware of all the rules, or else behavior will look very strange. All of this has NOTHING to do with iMacros -- it applies generically to all ActiveX (COM) object processes on Windows. The iMacros Scripting Interface is just another COM process.

Problem: By default, Windows 64-bit starts the 64-bit version of wscript.exe (the VBS interpreter). This results in the "800a01ad Active X component can't create object" error message.

Solution: Start the VBS file with the 32-bit version of the Windows Scripting Host.

There are two methods:

(1) Create a batch file that contains the following line:
C:\WINDOWS\SysWOW64\wscript.exe yourVBSscript.VBS

This will start the VBS script using the 32-bit version of VBS.

(2) Change the "VBS" file extension permanently to the 32-bit version of wscript.exe:

1. Right-click a *. VBS file, and then click Open With.

2. In the Open With dialog box, click Browse to locate the VBS version that you want: C:\WINDOWS\SysWOW64\wscript.exe

3. Select the Always use the selected program to open this kind of file check box.

This article applies to all 64-bit version of Windows (XP, 2003, Vista).
User avatar
Tech Support
Posts: 4948
Joined: Tue Sep 20, 2005 7:25 pm
Contact:

Post by Tech Support » Thu Feb 07, 2008 4:24 pm

Update: Native 64-bit Scripting Interface available:

The iMacros trial version includes the 32-bit version of the Scripting Interface. Registered users can download the native 64-bit version of the iMacros Scripting Interface from our customer center at no extra charge. This allows you to run iMacros directly from any 64-bit application on Windows x64 systems. For example, you can use it with ASP.NET with IIS running in 64-bit mode.

The use of the 64-bit version requires no code changes. After you install the 64-bit version of the Scripting Interface, 64-bit applications automatically access the 64-bit version of the interface. 32-bit application continue to work on the same system, as they automatically continue use the 32-bit version of the Scripting Interface.

For more details please see http://wiki.imacros.net/x64
User avatar
Tech Support
Posts: 4948
Joined: Tue Sep 20, 2005 7:25 pm
Contact:

Post by Tech Support » Sat Feb 09, 2008 12:53 am

Note: If you try to use the Scripting Interface (create ("imacros") command ) in a 64-bit application and the 64-bit version of the interface is not installed, you will get an error similar to this one. The solution is to install the 64-bit interface (see above). [We post detailed information about this issue here, so users searching for this error find this page and the solution].

Code: Select all

 See the end of this message for details on invoking 
 just-in-time (JIT) debugging instead of this dialog box.
 
 ************** Exception Text **************
 System.IO.FileNotFoundException: Retrieving the COM class factory for component with CLSID   {E672F10A-DC22-4D20-B5CC-7E94A3DBDBF2} failed due to the following error: 8007007e.
  at _CSharp_Test_Interface.Form1.cmdRun_Click(Object sender, EventArgs e)
  at System.Windows.Forms.Control.OnClick(EventArgs e)
  at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
  at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ButtonBase.WndProc(Message& m)
  at System.Windows.Forms.Button.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Image

Screenshot: 64-bit .NET application running on a Windows x64 system with the 64-bit version of the Scripting Interface not installed.


Solution: Run the application in 32-bit mode or install the 64-bit version of the Scripting Interface.
Post Reply