Jump to content

Firefox 24 - 52 for ME and 98

Recommended Posts

For people who enjoy testing.:)

I would like to express my thanks for the work. Jumper, I know you've spent endless hours with the further development of KernelEX. I'm able to run Firefox 35 and even 52.9 and see almost the whole contents of the web on Windows Millennium again.


Versions 24 up to 35.0.1 are still usable for some or maybe many websites. However, these versions are increasingly no longer up to today's requirements.

There is a workaround to run higher versions up to 52.9 as well as RT's Serpent 55/52, NewMoon 28 and others - see below.



Firefox Portable:

sourceforge.net - FirefoxPortable


Improved version 31.8 for ME/98:



1. Working address (URL) bar

2. No delayed loading of web pages

3. Working "Restore Previous Session", "Recently Closed Tabs" and "Recently Closed Windows"

4. "browser.newtabpage.enabled" set to false for more stability

5. No Tab artifacts ("gfx.content.azure.backends" set to skia)

6. Plugin Container disabled for more stability

7. QuickJava 2.0.5 - Javascript, Style, Image Toggler

8. PlainOldFavorites 1.3.1

9. ClassicThemeRestorer 1.5.3 (disabled)

10. "browser.urlbar.trimURLs" set to false to see protocol / scheme in URL (http/https...)

Unsolved - not working: 

* Adding bookmarks - Use PlainOldFavorites instead.

* Recently visited addresses aren't saved.

* Printing

and see issues below.


Firefox 31.8esr portable



KernelEx: KernelEx.dll 4.5.2016.25, Kexbasen.dll 4.5.2016.25, Kexbases.dll 25, Core.ini 25h with Kexcom.dll 18, Sheet.dll 19, verify.exe 18 and VKrnlEx.vxd of 18

Set Firefox.exe, Xul.dll and furthermore for portables the FirefoxPortable.exe to Windows XP SP2 or higher. Otherwise you get an error "Couldn't load XPCOM".

Explanation: Xul.dll is set to 2k in the Registry (HKEY_LOCAL_MACHINE\SOFTWARE\KernelEx\AppSettings\Configs). This string entry *\XUL.DLL="NT2K" can be deleted to get the file in follower mode (default). Reboot required. 2k mode was set on Xul for older FF versions like 9.0.1.

Don't choose Legacy WinXPSP2! Firefox will be very unstable.


Recommended Hardware:

Pentium 4 or newer processor that supports SSE2

512MB of RAM

200MB of hard drive space

After version 48, SSE2 CPU extensions are going to be required on Windows.


Extensions:                                                      Compatibility

PlainOldFavorites 1.3.1                                     Firefox   3.0 - 56.*

QuickJava 2.0.5                                                Firefox 20.0 - 36.*

QuickJava 2.0.6                                                Firefox 33.0 - 36.*

ClassicThemeRestorer 1.5.3 CTR                       Firefox 29.0 - 50.0


Newer Versions and Forks:

Firefox 42.0 - 48.0.2

Additional requirements:


- Dll's from XPSP2 or SP3 or ReactOS

Activeds.dll, adsldpc.dll, apphelp.dll, authz.dll, dbghlp.dll, dnsapi.dll, mprapi.dll, netrap.dll, netui0.dll, netui1.dll, ntdsapi.dll, ntlanman.dll, rasdlg.dll, rasman.dll, regapi.dll, rtutils.dll, samlib.dll, utildll.dll, w32topl.dll, winscard.dll, winsta.dll

K-Meleon76 needs also GDIPlus.dll.

Paste these files into the system folder.


Problem solving UI glitch versions 33 - 48:

Hardware acceleration Direct3D9 (OMTC)

1. Install DirectX 9c

2. "layers.acceleration.force-enabled" => true



Cyberfox, GNU IceCat

Light Browser

NewMoon 27


Firefox 49 - 52.9, Mypal 28/29, Centaury and SeaMonkey 2.46 - 2.49.5 , IceDragon ,  :whistle:NEW Serpent/NewMoon 28/IceApe... - Testers are welcome.



First get Firefox 45 or 48 running.

- Kext ( Kstub824.dll + ini file Kstub824.7z ) - usage see Kext topic         Annotation

- reg file: APISets Stub dll's Knowndlls.txt Rename to Knowndlls.reg and merge it into the registry. 

- Remove all entries "api-ms-win-......dll" from dependentlibs.list with a text editor. The file is in the Firefox program folder.

- The UCRTBASE.DLL version 10.0.14393.33 of Firefox 52.9 or 10.0.14393.795 must be in the system folder! Don't use a higher version. And add concrt140.dll.


Classic Add-ons Archive (Firefox 45 - 56).  It is a very large collection of extensions and is almost indispensable.

FF43 - 47 and 52 ESR: "xpinstall.signatures.required" => false  to install unverified add-ons (already set in RT's builds).

A workaround is required for versions 48: Override the Firefox Add-on Signing enforcement  This is usually also necessary for higher versions, but not in every case.

Firefox extensions on archive.org/WaybackMachine

Firefox Legacy Collector


Screenshot with add-ons Plain Old Favorites, Get Archive, Free Memory Button and Classic Add-ons Archive:



Note: There is still no known workaround to run FF 36 - 41 (crash on start) and the corresponding forks with the exception IceCat 38.

Versions 12 - 23 are freezing after some seconds and are useless in today's internet anyway. These are therefore no longer of priority interest.


Limitations, issues, solutions, other settings and recommendations:


WebGL and Direct2D! Blocked for graphics card because of unresolved driver issues.

Limited WebGL support with adequate graphics driver and graphics card:

WebGL 1.0 based on OpenGL ES 2.0 and requires OpenGL 2.0 graphics driver support.

1. Nvidia Geforce 7 (full support OpenGL 2.0) or quite likely 6 (not testet) series cards

2. Drivers NV81.85 and higher

3. Settings: webgl.force-enabled => true and webgl.disable-angle => true

Browser crashes or freezings are possible and are probably caused by graphics drivers infirmities. So turn it on only when necessary.

WebGL-Renderer ANGLE:

1. It needs at least hardware providing DirectX VertexShader 2_0 and PixelShader 3.0 (vs_2_0 ps_3_0), i.e. DirectX10 or 9. (graphics cards Nvidia GF6xxx or 7xxx)

2.Setting: webgl.force-enabled => true

It doesn't cause any crashes or freezings.  It can be switched on permanently.

Direct2D requires Direct3D 11 compositing. There is no workaround yet.


Common issues:

* It is becoming more and more common that some web pages no longer open.

For this reason an user agent switcher addon like User-Agent Switcher (Firefox 1.0 - 56*) is increasingly important.

First certificates may also have expired. The cert file is nssckbi.dll (NSS Builtin Trusted Root CAs). Replace the file by a newer one of Firefox 52 or higher.

* Sound/audio doesn't work with vxd sound drivers (see topic). Use a WDM driver. The support for vxd sound drivers has been removed with version 15.


Issues all versions 24 - 52 and forks on ME/98SE:

* Adding bookmarks doesn't work (also the popup - dialog window doesn't occur). Recently visited addresses aren't saved. Partial solutions: The History and the Bookmarks created on XP+ can be used on ME/98. Copy the file places.sqlite of your Firefox profile on XP+ into the profile folder of Firefox on ME/98. And there is the bookmark extension PlainOldFavorites.

* Firefox crashes with Adobe Flash plug-in activated. Make sure that this plugin is disabled. If it is still needed, deactivate the plugin container: dom.ipc.plugins.enabled;false and dom.ipc.plugins.timeoutSecs;-1. The boolean "dom.ipc.plugins.enabled" has been removed with version 43.

* Own fonts of pages can be blurred or unreadable. Recommended: Uncheck "Allow pages to choose their own fonts". Tools > Options > Content > Advanced

* The popups for installing addons, saving passwords and such have big black lines around them.

* The button on the download popup "open containing folder" has no function.

* Printing doesn't work.

* Squares and boxes instead of icons: Install suitable fonts - Awesomefont (version 4.7 tested) for this Site and and see Workaround

Possible setting (You can even see the "search magnifier" and the "Rate stars"):



Note, older versions, like 4.7, have recently been removed from GitHub, but are available on archive.org or fontawesome.com/versions.

* Last character of the URL in address bar is missing - The search bar can also be affected: Different solutions are possible.

* Possible: Second process "Explorer" remains after close. Open the Taskmanager and close the lower (second) "Explorer" process.

* Cookies may not be saved correctly and aren't recognised after browser restart. There is no workaround.

* If you can't set Firefox as default browser: Start=>Run > ...\uninstall\helper /SetAsDefaultAppGlobal

Install version: C:\Program Files\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppGlobal

Portable version e.g.: H:\Programme\Firefox\52.9.1\App\Firefox\uninstall\helper.exe /SetAsDefaultAppGlobal

Note, that the used profile isn't the portable one initially. Usually "C:\WINDOWS\Application Data\Mozilla\Firefox\Profiles", if not changed.

* NewTabPage doesn't work. You can set an url with an extension like ClassicThemeRestorer or others.


FF49 - 52.9 and forks:

* Sporadic letters that were slightly out of place. Open about:memory and press "Minimise memory usage". The addon FreeMemoryButton allows to minimise memory with one click only.

Mypal 28/29 and NewMoon 27/28:

* Input in address bar doesn't work on second browser start anymore and Search Engine List is empty.

Problem solving: With the first run you can remove search engines you don't want from the Search Engine Manager list and then set the search.json file in the profile folder quickly to read only. After that add your favorite engines and set a Home Page. Restart FF and check the functionality. If the first attempt fails, delete "search.json" and "searchplugins", restore the original state (Restore Default Search Engines ...) and try it once more. If you despair, delete (or rename) search.json , create an empty text file, rename it to search.json and set it to read-only before you start the browser.

Mypal 28/29:

* Low GDI resources - Possible problems with programs starting/running at the same time. Open about:memory and press "Minimise memory usage". The addon FreeMemoryButton allows to minimise memory with one click only.
* Sometimes I can't close Tabs after a while. Restart Mypal when it annoys.
* Sometimes - Error in Xul (browser restart required)

Spoiler - issues FF 24 - 51 on ME/98:


FF24 - 35:

* "Restore Previous Session, Recently Closed Tabs and Recently Closed Windows" often don't work at first.

* Many pages are loaded with a considerable delay.

A safe method to troubleshoot is to run the portable version on XP once. Afterwards on next start on Win ME/98 the functions "restore previous session, recently closed tabs and recently closed window" work and the pages load as they should. On XP Firefox repairs garbled created data profile files.

FF24 - 35?

* Firefox freezes or crashes on some websites. Disable Javascript or CSS/Style Sheets for these sites. The extension QuickJava allows you to rapidly switch Javascript (JS), CSS/Style Sheets (CS), Images and more. Depending on the system, it may make sense to deactivate Javascript permanently. There are reports of systems in which JS does not work at all. Add "user_pref("javascript.enabled", false);" in profile\prefs.js or open about:config and toggle "javascript.enabled" from true to false.  FF42 and the higher versions are less affected. If a website suddenly stops working and Firefox crashes, then clear the Cache (Tools>Options>Advanced>Network>Cached Web Content>Clear Now) or delete it in the folder (e.g. FF32+: FirefoxPortable\Data\profile\cache2\entries).

* Firefox could crash when opening a new tab. Open about:config and set "browser.newtabpage.enabled" to false. This leaves the new tab blank. It's possible to modify the string "browser.newtab.url" with a search engine or another url of your choice. FF42 and higher versions haven't the string "browser.newtab.url" anymore. You can use the ClassicThemeRestorer to set an url.

FF28 - 44, (NewMoon and Mypal 28/29):

* Input in address bar doesn't work on second browser start anymore and Search Engine List is empty.

Problem solving: With the first run you can remove search engines you don't want from the Search Engine Manager list and then set the search.json file in the profile folder quickly to read only. After that add your favorite engines and set a Home Page. Restart FF and check the functionality. If the first attempt fails, delete "search.json" and "searchplugins", restore the original state (Restore Default Search Engines ...) and try it once more. If you despair, delete (or rename) search.json , create an empty text file, rename it to search.json and set it to read-only before you start the browser.

FF27 - 51:

* Tab bar glitches since FF27. Solution for Firefox 31 - 35 and 44 - 51: AzureContentBackend skia (not suitable for FF36 - 43 ) - Add to Prefs.js: user_pref("gfx.content.azure.backends", "skia,cairo"); Alternatives: Firefox 27.0.1: Toggle "gfx.content.azure.enabled to false. A new standard theme comes with version 29 and v34 and higher versions come with five themes more. Choosing another theme solves the tab glitch. Another solution for 29 and higher: Install add-on ClassicThemeRestorer 1.5.3 and set Options > Tabs(1) > Tabs > Squared Tabs (Australized) (V2) or Squared Tabs (Classic) (V2).

FF28 - 51:

* Icon artefacts - Solution for Firefox 31 - 35 and 44 up to 51: AzureContentBackend skia - gfx.content.azure.backends;skia,cairo

FF30 (and higher?):

* Context Menu (Right click) partly without function - has seldom occurred, probably associated with other errors and is usually not a problem.

FF33 - 48.0.2:

* UI glitch - FF window is not completely displayed:

Apparently the glitch is related to OMTC (offmainthreadcomposition). From version 33 on OMTC is enabled by default. Switching "layers.offmainthreadcomposition.enabled" off solves the glitch, but makes versions 33 - 35 unusable. These versions eats up the GDI resources and Firefox will crash sooner or later. Versions 42 - 48 and also Icecat 38.8 are probably not affected, so there is the possibility to disable OMTC.

Other solutions without Hardware Acceleration:

Versions 33 - 35.0.1: The problem can largely be avoided, if you don't start and run Firefox with maximised window. Reduce the window size a little bit. Other possibilities: Click "Show Desktop" on Taskbar twice to refresh the Firefox interface (UI). You also can press F11 (Full Screen) twice or leave FF with Full Screen. Then it starts with Full Screen again and afterwards click F11 to exit that mode.

Versions 42 - 47.0.2: Click "Show Desktop" on Taskbar twice to refresh the Firefox interface (UI). Usually it is sufficient to press the button twice after starting. Or: The boolean "layers.offmainthreadcomposition.force-basic" doesn't exist anymore, but if you create it and set it to true, it's possible to start and run FF with a slightly reduced window size without this UI glitch.

Version 48: It starts without UI. The boolean "layers.offmainthreadcomposition.force-basic" = true makes it usable. Start and run it with a slightly reduced window size.

Solution: Hardware Acceleration

DirectX 9c is required to enable hardware acceleration (GPU Accelerated Windows). After you've installed DX9c set "layers.acceleration.force-enabled" to true. That completely solves this glitch. It's tested with NV GF7800GT (driver 82.16), NV GF7900GS (driver 82.69), NV GF6200LE PCIe (driver 81.98) and NV GF5900XT AGP (drivers 81.98/82.16/82.69).


All significant issues should be ascertained.


Other settings:

* FF 24 - 26, 24esr : "security.tls.version.max" should be set to 3 (TLS 1.2 enabled). TLS 1.2 is enabled since version 27 by default.

* Youtube:

FF33 - 35: Set "media.mediasource.enabled" to true. It's possible to enable "media.mediasource.enabled" on lower versions, but it's quite likely useless.

FF42: Set "media.mediasource.webm.enabled" to true. It should run on FF43 and higher by default. In case the player doesn't run on FF43+, set "media.mediasource.webm.enabled" to true, too.

Settings not needed, but interesting - matter of taste:

* "browser.tabs.onTop" => false to move the Tabs toolbar below other toolbars (FF24/27). FF 29 and higher: You can move the browser tabs with the extension ClassicThemeRestorer.

* "browser.search.showOneOffButtons" => false to restore Firefox's classic search where you could see the favicon for the current search engine (FF33 - 42). However, the new search should be a bit faster.

* "browser.urlbar.trimURLs" set to false to see protocol / scheme in URL (http/https...)


Recommendation for testing:

Use portable versions or create different profiles for the installed. In the second case call the Profile Manager (Start > Run > ..../firefox.exe -P) or open "about:profiles" (Firefox 46+ only) and start the Profile Wizard.

A note about my test environment:

All my observations, tests, and findings were on real machines and not on a VM. All processors (Intel) meet SSE2 or higher and memory sizes are 2 and 3.5 GB RAM. The graphics cards are NV GF7800GT, NV GF7900GS and NV GF5900XT(AGP). And my OS is Windows Millennium.

Recommended versions for use on ME/98:
Update cert file nssckbi.dll by a newer one of Firefox 52.9 or higher
For troubleshooting see issues

KernelEx Core Updates only:
Version 27.0.1 (Tab bar glitch easy to solve)
or better Improved 31.8esr

CPU Instruction Set SSE (Pentium 3 / AthlonXP) only systems:
KernelEx Core Updates and some dll files required
Version 45.9esr or 48.0.2

CPU Instruction Set SSE 2 and higher (Pentium 4 / Athlon64 and newer) systems:
Note additional requirements
Version 52.9

Edited by schwups
Link to comment
Share on other sites

On 4/17/2020 at 7:19 AM, FantasyAcquiesce said:

Am I supposed replace system dll through DOS?


On 4/17/2020 at 7:19 AM, FantasyAcquiesce said:

and made the ntdll a known dll in the kernelex folder, but I get an error that XPCOM cannot be found

You can try this, but first it is easier to paste MEdll.dll into the Firefox program folder, here ... FF35.0.1Portable\App\Firefox. I see "App folder" is ambiguous. There is no need to register a dll file. And make sure that you really set xul.dll to XPSP3, too. Then the XPCOM error should go away:

Edited by schwups
Link to comment
Share on other sites


I tested as following instructions and FF35 still wants to load XPcom.dll. What I do not understand is the MEDLL.dll how is this involved? If NTDLL of another OS is placed in the Windows directory along with the correct Kernel32.dll it slows down system but still operational last time I checked. In WinME NTDLL is loaded first and it is solely directly linked to ME's Kernel32. NT based OS' s load the other way around Kernel32 first. What might be able to be done is to search for files altered in the time frame of when you got FF to work and see if other modes are necessary.

If you just meant it did not need registering in FireFox then OK, I posted below to prevent any confusion.

>>There is no need to register a dll file.

It depends on whether the DLL is in the mapped paths. A Dll can only be registered if it contains function DllRegisterServer and is said then to be self registering. When installing, a program can write the necessary registry settings if the Dll does not self register. If the Dll is in the same folder as the program then the program does not need the registry to find it. If outside the set paths then it will not be found if not registered. In KernelEx folder/subfoldereds the the Dll has to be KnownDll registered for kernelEx to use it. Dlls are shared and icons need to be directed/selected that are within the Dll. They can do direct decoding all types of stuff and generally if it has DllRegisterServer then it should be registered. If within the Dependency Walker Dll tree there is NTDLL and NTDLL has all red Dependency Walker imports, no input functions compatible, then the DLL may still register but may not work. If there are some compatible imports (green) then the DLL will not register.

Link to comment
Share on other sites

Of course, don't use the ntdll.dll of 2K or XP named ntdll.dll in the windows/system directory.  A renamed ntdll.dll to MEdll.dll doesn't hurt your system! The patched Firefox don't need the ntdll.dll, but MEdll.dll. That's all.

Edited by schwups
Link to comment
Share on other sites

I think if we compare KernelEx ApiLog results it might help but it is good that you have it running. There is no altered file dates in the download except prefs.js, they seem to represent the original and this is why I don't understand the MEdll mod how is this file involved?

Edited by Goodmaneuver
Link to comment
Share on other sites

I just rebootet without Kstub823 and I write here on FF 35. I will make list of XP files in my system folder, and I would like to add, that I'd installed hjsuffolk14's me service pack on the test system. Currently I'm at my main machine, but at the moment I 'm not sure, if that SP is installed.

Link to comment
Share on other sites

If you use Process Explorer or CodeStuff Starter while FF is running it will show what files are used therefore narrowing down the files to just the ones used. Process Explorer will show version numbers - a lot more info than Starter but I use both. I think from memory PSAPI has to be removed from Starter.


When you put the NTDLL of another OS in the KernelEx folder/subfolder and registered it in the KernelEx known Dlls, if you use one of the above programs I mentioned you will see that the NTDLL in the KernelEx folder/subfolder is not loaded and therefore is not used and does not play any role in the operation of the operating system. It cannot load unless all its import functions are linked except any forwarded functions and forwarded functions although shown to link in Dependency Walker do not work with WinME. Forwarded functions are shown in DW having an arrow pointing down with a blue folder like symbol.

Edited by Goodmaneuver
Link to comment
Share on other sites

Used not ME files of Firefox (ProcessExplorer):

* IE6SP1 files
* MSVCR70 VS NET twice sorry
* Cabinet.dll XPSP3 5.1.2600.5512
* DGBHelp.DLL XPSP3 5.1.2600.5512
* Imagehlp.dll 5.0.2195.6613
* MFC71.dll VS NET
* MSVCP100.dll VS2010
* MSVCR100.dll VS2010
* MSVCR70.dll VS NET
* MSVCR71.dll VS NET
* PDH.dll XP 5.1.2600.2180 of course not - PDH.dll in the KernelEX folder is used!

Edited by schwups
Link to comment
Share on other sites

I will try the ones that are different to mine. The MSVCR100 and MSVCP100 were the ones in the FF program folder? When profiling with DW the first thing that comes up is the message couldn't load XPCOM then after acknowledging this the profiling begins. Straight away there are many red can not hook modules then it reaches the all implicit modules loaded successful point. So DW is not going to display properly when the modules can not be hooked I would think. In saying that though, it says that there is a memory location 998 problem of which I have encountered with other profiling. The other thing is I have WTSAPI32 have you got WTSAPI32? My WTSAPI32 will not load though : - missing functions and disabled in KEX. Yours did not load either as shown in PE unless you had not included it.

Edited by Goodmaneuver
Link to comment
Share on other sites

I m not going get it to work I tried the different files. I am not important, what is important is that you and other members have it running and you have posted about it. Can you do one favor for me is delete the MEdll.dll or rename it as It does not show as being used and tell me if FF35 still works or if you already know the answer then just say. The interesting module that loaded is PDH from XP, RtlStringFromGUID is not listed in Ktree9 is yours listed. It sort of backs up my comment in registering Dlls but for one thing, RtlFreeUnicodeString is listed in Ktree. The KernelEx known dlls does affect Ktree results, It is important to know what files you have as KernelEx known Dlls. No only the way it is displayed in KTree. It might work for those who have not used an earlier Mozilla, ones that do use XPcom.dll. You might confirm that this build that you have FF35 working has it had early FF running on it?

Edited by Goodmaneuver
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...