This a short list of common problems and solutions related to the COM API.

Runtime Error 429: ActiveX Component Can't Create Object

A typical error is runtime error 429. It simply means that the COM object that you are trying to use is not registered correctly. There can be a multitude of reasons for this error.

 

Trying to use a 32-bit object from a 64-bit process.

Assuming that the installation of the COM API was correct then this error can be caused by wrong bitness of your process. Some COM objects only support execution in 32-bit processes and you will receive a runtime error 429 if you try to instantiate them from a 64-bit process.

The older COM API with prog id pdf7.PDFPrinterSettings only supports 32-bit processes because it is a native 32-bit component. Using this API from a VB Script on a 64-bit operating system will produce an error 429 unless you specifically run it with the 32-bit scripting engine. By default, the Windows operating system will execute your VB script in 64-bit mode unless you tell it otherwise.

You can force 32-bit execution of your script by calling the 32-bit version of cscript.exe or wscript.exe. These interpreters are typically located in the C:\Windows\SysWOW64 folder. Using the following command line will run a script in 32-bit mode on a 64-bit operating system.

C:\Windows\SysWOW64\cscript.exe MyScript.vbs

As an alternative, you can use the newer COM API with prog id pdf7.PdfSettings. This object can be created from both 32 and 64-bit processes. The interface of that object is very similar to that of the older object.

Top