We've inherited a Tridion implementation that is built on VBScript templates and are upgrading it from 2009 to 2011. One of the page templates has the following code:
Set var = CreateObject("DLL.Class")
Which is causing the pages using the template to fail on publish with the error:
Error 429 occurred while rendering the Page: ActiveX component can't create object: 'DLL.Class' (source: Set var = CreateObject("DLL.Class")).
The DLL in question is very simple - just two classes with a handful of methods each - and appears to be registered in the GAC on the original implementation. Thus, the first thing we tried was to register the DLL in the GAC of the new server. We did this using the GACUtil.exe program, but unfortunately this did not resolve the error. Next, we tried to instead register the .dll with COM using regasm /codebase (we took it out of the GAC beforehand), but this did not work either. Next, we recompiled the .dll with the Register for COM Interop option checked and repeated the regasm command, but this also failed to resolve the error. The .dll cannot be registered by using regsvr32.
I suspect that our lack of success is due to my inexperience with how Tridion registers .dlls through VBScript. How exactly is this done?
Worth noting is that the test VBScript can create the object successfully outside of Tridion. My understanding was that using .dlls in Tridion was no different than using them in any other way, but I suppose this is not the case!
Set var
looks weird in any case, even though I don't think var is a reserved word in VBScript