Jump to content

How to register a 32-bit DLL in Win PE x64


Recommended Posts

Posted

Hi all,

I want to register the DLL smsmsgapi.dll (SMS Management Point API) to query a Distribution package location from Windows PE x64. Problem is, it originally is a 32-bit DLL. What I did was convert it to 64-bit DLL using ilasm. I am not sure if I can use regsvr32.exe because of the limitations of Win PE (additionally, I think it will not work since regsvr32 is for 32-bit dlls).

I need the DLL in order to run a program since the program does not run if the dll is not registered. It gives out the error, "Class not registered".

Can anyone suggest an alternative? Is it possible to import the DLL I need in the program I did (using visual studio)? Or can anyone give steps on how to register 64-bit dlls?

Thank you!

Additional info:

When I try to register the x64 dll using regsvr32 in a x64 Win PE, it says,

"The module "smsmsgapinet.dll" may not compatible with the version of Windows that you're running. Check if the module is compatible with an x86(32-bit) or x64(64-bit) version of regsvr32.exe"

When I try to register a x86 dll using regsvr32 in a x64 Win PE, it says,

"The module "smsmsgapinet.dll" failed to load

Make sure the binary is stored at the specified path or debug it to check for problem with the binary or dependent .DLL files.

The specified module could not be found."

Although I am sure that I load it in the correct folder. It is also a standalone file.


Posted (edited)

I'm not familiar with ilasm or WinPE, but RegSvr32.exe exists in both 32-bit and 64-bit versions for Win x64. The 32-bit resides in SysWOW64 and the 64-bit is in System32.

If the application requiring the DLL is 32-bit then the DLL also needs to be 32-bit. Do not convert it.

I did find a thread in Microsoft's IIS.net forum concerning the use of the DLL in x64 Windows. Though I am also not familiar with the settings in IIS, perhaps it will help you somehow.

EDIT: I believe I've found a post you created on TechNet concerning this issue, in case that information will help anybody here to help you.

Edited by 5eraph
Posted

In order to do this, you would have to customize your WinPE and get the syswow or Win32 subsystem support into your PE. Or you can just do what I do, use x86 WinPE for systems that need 32bit software functionality.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...