5

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!

6 Answers 6

2

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!

1
  • Can you please mark this question as answered then? Thanks!
    – Timotei
    May 27, 2016 at 6:34
1

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.

2
  • The dependency walker tells me that it could not locate ieshims.dll and linkinfo.dll for both the capicom and the in house dll developed. Had to put them in syswow or all sorts of dlls were not found. May 11, 2010 at 14:20
  • @ChrisAnton I found somewhere else that you need to install the Desktop Experience feature to get linkinfo.dll.
    – wimh
    Aug 16, 2012 at 11:19
1

In a 64-bit Windows operating system, there are two versions of the file Regsv32.exe:

The 64 bits is %systemroot%\System32\regsvr32.exe.
The 32 bits is %systemroot%\SysWoW64\regsvr32.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.

0
0

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.

2
  • Was logged in as admin :-\ Tried putting in syswow folder. Will try putting in sys32 and will write back. Thanks! May 10, 2010 at 19:39
  • Tried putting one of my internally developed DLLs into the system32 directory to no avail. When runing regsvr32 blahblahblah.dll and regsvr32.exe blahblahblah.dll I am getting a "The module blahblahblah.dll failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. The specified module could not be found." I also tried the same process in SysWow64 and regsvr32 states it has registered the DLL, but then when I try to instantiate the object, I get the "ActiveX component can't create object" error :-( May 11, 2010 at 13:50
0

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

0

Here is what I had to do:

  1. Install Capicom SDK

  2. Copy capicom.dll into the %SYSTEMROOT%\syswow64 folder

  3. Register DLL

%systemroot%\syswow64\regsvr32.exe "%systemroot%\system32\capicom.dll"

  1. Run camonitor.vbs script

%systemroot%\syswow64\wscript camonitor.vbs /cacrlok /smtp /smtpserver:your_server /smptto:your_email

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .