Oledlg.dll missing in Server Core (VS 2012 dependency)

I have an application that installed and ran fine on Windows server 2008 r2 Core when it was written in C++ VS2005. However, to cope with new Windows platforms, I have had to rebuild my application in C++ VS 2012. Now, without any other functional changes, I can no longer install my app in Server 2008 r2 core. The installer invokes several custom actions that reside in one of my C++ DLLs. Using depends.exe, I can see that the problem is that my DLL now has a dependency on oledlg.dll which is not part of server core.

What is the best way to obtain this DLL? I can copy it over from a Windows Server 2008 r2 GUI system and that fixes my problem but this isn't very elegant. I am also not impressed by the fact that this is a problem caused by VS 2012 rather than anything I have done. BTW - I also installed the VS 2012 Redistributables on my core system but this did not have any effect.

March 24th, 2015 11:08am

Hi Weebo,

Server core version is a basic system which you only install the few services and components that you need.
We can find this .dll file under the folder "C:\Windows\System32" and "C:\Windows\SysWOW64" on the Server with GUI. However, it isn't located on servser core, and the available DLLs with Server Core can be checked here:
https://msdn.microsoft.com/en-us/library/ms723876.aspx?f=255&MSPPError=-2147217396

I would like to suggest you can go on with the workaround on Server core or install this app on full installation server.

If there is anything else regarding this issue, please feel free to post back.

If you have any feedback on our support, please click here.

Best Regards,

Anna Wang

TechNet Community Support

Free Windows Admin Tool Kit Click here and download it now
March 24th, 2015 10:49pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics