Windows – Cannot register DLL on Server 2012

aspdllregsvr32windows server 2012

We have an old classic ASP website that I'm trying to host on a new Server 2012 box. It uses a DLL developed in house on VB6.

I copied the installer file over and it error's out. I try to register the DLL manually using "regsvr32 pathToDll\theDll.dll" and it comes back with error 0x80004005. Google suggests that I should run the command from an elevated command prompt. So I do and I get the same error. I've also tried running the same command from the SYSWOW64 directory and I get the same error.

Through Googling, I also find that it could be from missing dependencies. I used Dependency Walker and sure enough it was missing a few things. So I found out I had to install the VB6 runtime files, and enable a few features and all the dependencies are resolved. So I tried reregistering the DLL and it still gives the same error.

Any ideas? I know it's a 32 bit dll on a 64 bit machine but it should at least register.

Best Answer

Ok, after more searching, I found through Dependency Walker that the dll is referencing the API-MS-WIN-CORE-SYNCH-L1-1-0.DLL through the chain of other dlls.

Based on this information from Microsoft, it doesn't look like this is compatible as is. It seems that I would have to recompile the DLL in order to make this work changing the references.

Solution: I'll spin up a VM for this legacy application.

Related Question