Have an application in VC++ VS2017 that runs fine on hundreds of PCs. I'm now trying to run this code on an AWS windows server and my code crashes when it attempts to call entry points in gdiplus.dll
I can see that gdiplus.dll exists on the server in windows/system32. If I try a regsvr32 on it, it fails.
Also the version of gdiplus.dll on this server is slightly older than the one I use elsewhere.
What is recommended course of action?
1st if the version is slighty older then this can be the issue....even a minor deviation could break "hell" (i have encountered some really nasty crashes with similar cases). Make absolutely certain that your versions match 100% ...you need the exact version.
Also take note about the bitness of this .dll ...it could be 32bit or 64bit ...99% your application is 32bit your application is 32bit so you have to open a cmd prompt with admin rights...go to C:\Windows\SYSWOW64 folder...
regsvr32 /u gdiplus.dll
to unregister the current instance
rename it
copy the correct version to SYSWOW64 folder
register it
regsvr32 gdiplus.dll
(Crucial part...there are 2 versions of regsvr32 ...one for 64bit .dlls located in C:\Windows\System32 and one for 32 bit .dlls located in C:\Windows\SYSWOW64 use the one that matches your .dll bitness or else it will fail)