Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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!

share|improve this question

6 Answers 6

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!

share|improve this answer

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.

share|improve this answer
    
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. –  Chris Anton May 11 '10 at 14:20
    
@ChrisAnton I found somewhere else that you need to install the Desktop Experience feature to get linkinfo.dll. –  Wimmel Aug 16 '12 at 11:19

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.

share|improve this answer

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.

share|improve this answer
    
Was logged in as admin :-\ Tried putting in syswow folder. Will try putting in sys32 and will write back. Thanks! –  Chris Anton May 10 '10 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 :-( –  Chris Anton May 11 '10 at 13:50

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

share|improve this answer

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.