Jump to content

Fixing some files compiled with latest MSVC compilers


Recommended Posts

Ok so, as you may have noticed or not, it seems that executable files compiled with recent MSVC compiler don't run anymore on 98SE/ME even if all dependencies are satisfied and source code is identical to source code compiled with an earlier version.

Symptoms are as follows :

snap0357el6.png

snap0358kb3.png

Here you can see that the latest version of Blender does not run anymore.

It is actually very easy to fix :

snap0354on6.png

OS version and Subsystem version must be set to a value of 4 in the header of the file. That's all there is to it.

You can grab PE Worshop here. It's the easiest tool I know for doing that. It can also be done rather easily using the structure viewer of Tiny Hexer.

Right, if it works with exe files, it also works with dll files and so I fixed the MS D3DX9 runtime files part of DirectX 9 that didn't work anymore. Well they work fine now. You can grab them here : Fixed D3DX9 Runtime.

Example : I can now run the latest version of MapZone which didn't work because it is relying upon D3DX9_35.DLL.

Allright but what about apps who also rely on the vcredist 2008 runtimes files (all ending with 90.DLL) ? Good news guys, I also fixed them.

You can grab them here : Fixed VCRedist 2008.

MSVCR90.DLL also had a missing imported function in Kernel32.dll. Well I replaced this missing GetSystemWindowsDirectoryW by the closest equivalent I found in Kernel32 which is GetWindowsDirectoryW and it seems to work OK.

Example : I can now run normally the latest Indigo Renderer which relies on MSVCP90.DLL and MSVCR90.DLL.

I also fixed a couple of missing import functions in VCOMP90.DLL but I would not think this will work if an app is dependent on it and it is not tested on anything.

:thumbup

My apologies if this had already been figured out and posted by someone else as I haven't followed the forum too much lately.

Edited by eidenk
Link to comment
Share on other sites


i was able to installl vcredistx86 version 9 using winrar and msi installer inside. dependencies are ok, so i have to check the functionality.

with latest kernel ex and manually installed VCredist 2008 i was able to run indigo. (different installation method - manual unpacking, setup execution, and copying msvc files to c:\win\system)

this seems promising when it comes to installing the latest DX9...

Edited by Offler
Link to comment
Share on other sites

Maybe the latest KernelEx takes care of those version problems and that imported function in MSVCR90 already then. I haven't got that one installed. If it does then it should for the D3DX9 as well I guess.

Edited by eidenk
Link to comment
Share on other sites

Kernel Ex already solves dependencies from msvc 2008 files. few months ago i sucessfully installed those files and analyzed the dependencies. Xeno added them to Kernel Ex so there should be to problem in using MSVCR 2008 and newer apps linked with it. Only problem which i was unable to solve is to make installation of msvcr 2008 easier :)

but when you created this topic i realized that it is quite possible that newest DX9 (and higher) files should be created with MSVCR 2008. So if somebody wish to install DX9 from may or july he has to have MSVCR2008 and latest kernel EX already installed. also... the DX9 installer from july and may has to be persuarded to work on Win9x and Win2k. For common gamers i still recommend the version from NOV 2007 which only requires DX9c Release 1 installed previously.

Link to comment
Share on other sites

There should be no problem with installing those VC 2008 runtimes as they just need to be copied to the sys dir, isnt'it ?

As for DirectX I think the easiest is to install the latest compatible installer and add separately the newest files.

Is the current version of KernelEx stable ? I vaguely followed the thread and it seemed to me many stability and compatibilty issues with apps that were running without problems without KernelEx installed were reported so I didn't try it since quite some time.

Edited by eidenk
Link to comment
Share on other sites

:thumbup COOL-These Add functionality to Kex0.3.5 and some other apps i added to 98SE from my W2K Adv Srv Editon(IE6sp1/Iexplore cruzin better too....hmmmmm...looks fixed for now!?)*MSN Messenger has sound and video now as this was not before possible..... :thumbup Nice toys ,TOO!-Careful of adware at Download Site,as it caused a shutdown in IE6sp1 until i installed your files then all was OKAY! :sneaky:
Link to comment
Share on other sites

when it comes to stability Kernel Ex is very good. compatibility problems are with apps which are intended for XP... that is what kex is trying to solve.

MSVCR 2008 is a group of DLLs which is intended to be XP only so KEX has to be used to fix it :)

to installation process:

i have extracted the MSI installer of vcredistx86, extracted it once again and then executed. the dlls were created in c:\ directory so i had to move them... :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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