Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
NoNameNeeded

Use Win98 user32.dll and user.exe in Win95

Recommended Posts

Is there a way to use newer user32.dll and/or user.exe files in Windows 95?
By newer I mean the Win98 counterparts.

I have several applications which would require the Win98 versions of these files (especially user32.dll) and I've come across a program called cff explorer which enables me to change some stuff in a file and there's a section called import directory and there's a list of files which are used by this exe file or dll file or whatever.

So I copied the user32.dll from Win98 over to Win95 and renamed it to user98.dll and changed the file name in the import directory section and hoped this would help the application to get started, but it didn't.

I'm obviously not a programmer, I don't know anything about it, I just tinker with stuff I don't know anything about so I didn't really expect it to work anyway but is this a lost cause or is there a fairly easy way to get applications to use different system files than the ones they would normally use?
 

ScreenShot 508.jpg

Share this post


Link to post
Share on other sites

Your method works but USER98.DLL itself apparently failed to load. You will have to check it for missing Imports. Even so it may not be compatible.

Share this post


Link to post
Share on other sites

How do I check it for missing imports?

When I try to launch an application (which needs this newer system file) there is an error message telling me that the dll file cannot be started.

Share this post


Link to post
Share on other sites

Hm ok.

In my case, I already knew which function was missing because it was part of the error message. So I used "Import adder" to import that function but when I try to launch the application it takes a while until an error message pops up, telling me something about an illegal operation and then it crashes. In the details section it refers to kernel32.dll

Probably not a good sign.

ScreenShot 510.jpg

Share this post


Link to post
Share on other sites

P.S. Is there a way to add a function to an empty dll file and to link that empty dll file to the executable file (just as I did with the user98.dll file)?

Share this post


Link to post
Share on other sites

No.

Your method replaces an entire DLLs set of Imports so you have to provide all the other Functions of the DLL as well.

I have a program that can redirect individual Imports to alternative DLLs or names. I also have a tool that can add a Redirecting Export to the original DLL that can then point to your single Function DLL.

Share this post


Link to post
Share on other sites

What is this program and/or tool called and would it be useful for someone like me who knows next to nothing about this stuff?

Share this post


Link to post
Share on other sites

Hmm, with this tool you can add redirecting exported funuctions to dll skeleton, you should check the link.

Maybe i will make small video tutorial to show how to use this tool.

Share this post


Link to post
Share on other sites

I actually meant rloew but your tool is also interesting.

I copied the function from the newer user32.dll file to the one from Win95 and it works to some extent.

It's extremely unstable, so there are a lot of error messages (all referring to user32.dll) and the application crashes and explorer.exe crashes etc. but it does work to some extent.

Nevertheless I assume it would make more sense not to modify the original user32.dll but find an empty dll file that I can copy that function into and then link the application to this new dll file.

But where do I get an empty dll file from?

(and no, just creating any file and changing its extension to dll doesn't work)

Share this post


Link to post
Share on other sites

My DLLHOOK Program intercepts the system Import resolver and provides an alternative Address. You can redirect the problem Import to your replacement DLL using a DLLHOOK.INI File.
My MODEXP Program allows you to add, change, or delete Exports. You can add a Redirection Export to the original pointing to your replacement DLL. A KERNEL32.DLL Patch to fix a bug, is needed in most cases under Windows 98 for this to work.

You would probably need to Compile a Replacement DLL unless you can find a suitable Stub or Function in some existing DLL.

Share this post


Link to post
Share on other sites
1 hour ago, ABCDEFG said:

Maybe i will make small video tutorial to show how to use this tool.

Please, do it. I can think of varous members who could benefit from such a tutorial.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...