I am attempting to register a basic COM dll on a Windows Server 2008 standard box.
I run regsvr32 capicom.dll
and it reports DllRegisterServer in capicom.dll succeeded
. This is the same process we've used for years on Windows Server 2003.
Sadly, when I attempt to create the object via a very very basic Microsoft vbscript example Set oStore = CreateObject("CAPICOM.Store")
it throws a "ActiveX component can't create object" error.
Thinking maybe it was a problem with this dll, I tried a few other DLLs we use with the same result. I tried using the regsvr32 in system, system32, and syswow64 all with the same result. I don't know too much about the differences between each of those, but figured it was worth a shot.
The dll is being stored on the d:\ and seems to have correct permissions (though that'd be a different error altogether).
*UPDATE: Through additional testing, we have determined (via dependency walker) that ieshims.dll and linkinfo.dll are missing. They are on the machine, but reported as could not find. This is true of both capicom.dll and an internally developed dll.
Thanks to any help or thoughts you might have!
It appears that wscript was running in 64 bit mode and was unable to see the registrations... following the instructions on http://forums.iis.net/t/1154189.aspx I was able to run the createobjects in 32 bit mode (via classic asp) and the components worked as they should. Thanks for the help all!
You might try opening your DLL with Dependency Walker. If you have any missing DLLs that capicom.dll depends on, Dependency Walker will help you to find them.
In a 64-bit Windows operating system, there are two versions of the file Regsv32.exe:
Try copying any of these two executables, along with the OCX or DLL file to register. Run in administrator mode, or change the properties of the executable in compatibility tab to "run this program as an administrator." Register the ActiveX (ocx) or DLL or running RegSvr32.exe nombre_dll nombre_activeX RegSvr32.exe.
Make sure you run regsvr32 in a command prompt As Administrator. Also, try putting the DLL in the system32 directory when running the executable there.
Right-click on the command prompt icon, and select “Run as Administrator”, and then try to register your DLL. Remember that you have permissions of Administrator on the Windows.
Capa
Here is what I had to do:
Install Capicom SDK
Copy capicom.dll into the %SYSTEMROOT%\syswow64 folder
Register DLL
%systemroot%\syswow64\regsvr32.exe "%systemroot%\system32\capicom.dll"
%systemroot%\syswow64\wscript camonitor.vbs /cacrlok /smtp /smtpserver:your_server /smptto:your_email