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. 


jumper

KernelEx 4.5 Core Updates (4.5.2016.17)

Recommended Posts

On 4/25/2019 at 12:37 PM, Dave-H said:

IIRC you have to install 4.5.2 as said, and then update it with the files in the 4.5.2016.18 package, which is the most recent that has all the necessary files in it.
4.5.2016.19 and 4.5.2016.20 just contain updates to some (but not all) of the dll files. 4.5.2016.20 just contains an updated kexbases.dll for instance.
:)

Isn't KernelEx open source? Can't someone just compile all updated files by jumper then replace them in the original KernelEx code then compile a Windows 98-friendly installer?

Share this post


Link to post
Share on other sites

Posted (edited)

@someguy25, KernelEx has been cumulative since KexBeta18.7z located on p33 make sure all files from 4.5.2 are updated with these first except KernelEx.dll which needs to be from KexBeta17.7z located on p30 if you are testing Kex18 as you said.

Having install trouble with KEX20 on anything above NT6a on an install that only requires KEX enabled before. KMPlayer any vs 3+ installed on any setting before except disabled. Is this an expected outcome?

Some info about Distributable Code obtained from within DotNetFX4.5

“Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below.

Right to Use and Distribute. 

· You may copy and distribute the object code form.

· Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.

Distribution Requirements. For any Distributable Code you distribute, you must

· add significant primary functionality to it in your programs;

· for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your program;

· distribute Distributable Code included in a setup program only as part of that setup program without modification;

· require distributors and external end users to agree to terms that protect it at least as much as this agreement;

· display your valid copyright notice on your programs; and

· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.

Distribution Restrictions. You may not

· alter any copyright, trademark or patent notice in the Distributable Code;

· use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;

· distribute Distributable Code to run on a platform other than the Windows platform;

· include Distributable Code in malicious, deceptive or unlawful programs; or

· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that; · the code be disclosed or distributed in source code form; or · others have the right to modify it.

Edited by Goodmaneuver

Share this post


Link to post
Share on other sites
Posted (edited)

@Dave-H
> 4.5.2016.20 just contains an updated kexbases.dll for instance.
Incorrect Not quite. It also includes the Core.ini update that unlocks all new Kexbases.dll improvements. Both should be installed together.

@Goodmaneuver
KexBeta18.7z was nearly cumulative, but .19 and .20 are just "delta" (changes to .18) updates.

> Having install trouble with KEX20 on anything above NT6a on an install that only requires KEX enabled before. KMPlayer any vs 3+ installed on any setting before except disabled. Is this an expected outcome?
No, please debug it. TIA.

Edited by jumper
Corrected post-midnight rudeness.

Share this post


Link to post
Share on other sites
Posted (edited)
7 minutes ago, jumper said:

@Dave-H
> 4.5.2016.20 just contains an updated kexbases.dll for instance.
Incorrect. It also includes the Core.ini update that unlocks all new Kexbases.dll improvements. Both should be installed together.

Oops, yes of course!
I did copy them both across.
:blushing:

Edited by Dave-H
Addition

Share this post


Link to post
Share on other sites

@jumper

Just an addition to what I said yesterday, I did notice later in the day, quite a few days after I copied the 4.5.2016.20 kexbases.dll and core.ini files across, that Opera 12.02, although apparently working fine, was not showing all of its menus.
This turned out to be because the KernelEx mode on opera.exe had for some reason reverted to "Base Enhancements (api fixes + extensions)".
When I returned it to "Windows 2000 SP4" which is what it had been, everything came good again.
I just thought I'd mention that in case anyone else hits the same problem.
I'm not sure why the mode should have changed.
:dubbio:

  • Like 1

Share this post


Link to post
Share on other sites

Oops, missed a few Aliases! Try appending the following to CORE.INI:

--- Aliases to support legacy (old) registry settings ---

[DCFG1]
inherit=BASE
contents=std,kexbasen,kexbases
desc=Alias for Base enhancements

[WIN98]
inherit=WIN98SE
desc=Alias for Windows 98 SE

[NT2K]
inherit=WIN2000D
desc=Alias for Windows 2000 SP4

[NOHEAP]
inherit=WIN2Kstd
desc=Alias for Windows 2000 SP4 (standard heap)

[WINXP]
inherit=WINXP2
desc=Alias for Windows XP SP2


Also (optionally) delete the DCFG1, WIN98, and WINXP sections from higher up . Thanks!!!

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Yes Delta I looked up the dictionary meaning of cumulative not knowing Microsoft's meaning. *\mfc*u.dll still not working in reg. KMP install: once finished the file integrity check, message says KMP exe made an 'error in unknown' using settings 2K and above. When I use the ApiLog testing with 2K then 1 ffe77dd5 [KMPLAYER-4-0-2-6-MULTI-WIN.EXE]004061fe:<USER32.DLL>CharNextW = 40f118 cycles endlessly incrementing last number after =. If I baulk the install by starting up another program then the error message comes up and full ApiLog as below. The NT6a setting install test is below as well. It takes a long time to get to the splash screen after the file check when ApiLog is running. I have got the win.ini setup with msdev.exe, and have updated core.ini. Is there any other debugging that can be done?

KMPLAYER-4-0-2-6-MULTI-WIN caused an invalid page fault in
module <unknown> at eb9e:00000002.
Registers:
EAX=00000000 CS=01af EIP=00000002 EFLGS=00010246
EBX=00000000 SS=01b7 ESP=04c2f18c EBP=04c2f734
ECX=eb9f7000 DS=01b7 ESI=00000000 FS=4faf
EDX=82d60f28 ES=01b7 EDI=099520b0 GS=0000
Bytes at CS:EIP:

00 00 00 f8 d7 c1 c3 e2 00 f0 04 70 00 2b 04

Stack dump:
099515ee 00000a54 00ffffff 00000000 00000002 0040f0d0 09951373 00000000 003a0043 004d005c 005c0045 00450054 0050004d 006e005c 00640073 00320042

ApiLog2K.txt ApiLogNT6a.txt

Edited by Goodmaneuver
WinWord save comment removed

Share this post


Link to post
Share on other sites
11 hours ago, jumper said:

Oops, missed a few Aliases! Try appending the following to CORE.INI:

--- Aliases to support legacy (old) registry settings ---

[DCFG1]
inherit=BASE
contents=std,kexbasen,kexbases
desc=Alias for Base enhancements

[WIN98]
inherit=WIN98SE
desc=Alias for Windows 98 SE

[NT2K]
inherit=WIN2000D
desc=Alias for Windows 2000 SP4

[NOHEAP]
inherit=WIN2Kstd
desc=Alias for Windows 2000 SP4 (standard heap)

[WINXP]
inherit=WINXP2
desc=Alias for Windows XP SP2



Also (optionally) delete the DCFG1, WIN98, and WINXP sections from higher up . Thanks!!!
 

Thanks @jumper.
I've added the extra lines to core.ini.
Will it cause any problems if I don't delete the other entries?
:dubbio:

Share this post


Link to post
Share on other sites
Posted (edited)

Core.ini after updating causing problems with CometBird which relies on USP10.dll for text. I use USP10 KEX disabled. I have gone back to using KE18 core.ini and is OK again. I may have not updated correctly but followed instructions and was only program I noticed not working correctly. Tested KMP installer with core.ini KEX18 same result as later ones.
 

Edited by Goodmaneuver

Share this post


Link to post
Share on other sites

@Goodmaneuver,

> CharNextW = 40f118 cycles endlessly incrementing last number
Increments by two because it is a WORD pointer. Slow for long strings, it should end eventually. "Exclude" filter it.

> It takes a long time to get to the splash screen after the file check when ApiLog is running.
Use the filters and/or minimize the window to speed ApiLog up.

> Is there any other debugging that can be done?
1. EAX is 0, so 099515ee (first stack value) may be the return address following a "call eax" instruction. Use Procwin to disassemble the instructions just prior to 099515ee. Look for a GetProcAddress() call. Notice that the last line in ApiLog2K.txt is "1 ffe77dd5 [ADVSPLASH.DLL]099515c1:GetModuleHandleW = bfc00000"
2. Profile it in DW. Any GetProcAddress() failures should be highlighted.

I was able to reproduce the original problem in KMPlayer_EN_3.0.0.1442.exe. The definition for SetLayeredWindowAttributes changed in Kex..11 so this regression must be that old. This issue is arguably a design flaw in the KMPlayer installer: Instead of testing for the functionality it wants, it tests for the platform and then assumes what functionality is available.


@Dave-H, repeated sections are ignored (or maybe just repeated section+names ???). Try changing descriptions; one place will work, the other won't. Leaving repeated sections in place now risks problems later.


@Goodmaneuver, I don't understand:

> causing problems with CometBird
what are the symptoms?

> which relies on USP10.dll for text
why do you mention this?

> I use USP10 KEX disabled.
Good. That is how 4.5.2 sets it because it is required! Any other setting would be an invalid installation.

Share this post


Link to post
Share on other sites

I updated core.ini with the missed Aliases as you said and deleted DCFG1, WIN98, and WINXP. All seemed OK until I opened CometBird - (Mozilla 9). There was no text displayed. This is a typical error when USP10 is not working properly for Mozilla. I do not think that USP10 was set disabled with 4.5.2 from what I remember. LH5048 USP10 had to be set disabled were as LH4093 and MS Office XP 1.420.2600.5969 did not need be disabled.
 

Share this post


Link to post
Share on other sites
2 hours ago, jumper said:

@Dave-H, repeated sections are ignored (or maybe just repeated section+names ???). Try changing descriptions; one place will work, the other won't. Leaving repeated sections in place now risks problems later.

OK, I've removed them.
Thanks!
:)

Share this post


Link to post
Share on other sites

> I do not think that USP10 was set disabled with 4.5.2 from what I remember.
Check settings.reg.

Regarding GDI32.GetCharABCWidthsI, the Kernel4.5.2 source code states in UberGDI.c:
//NOTE: usp10 is probing for that function, don't forget to exclude it

GDI32.GetCharABCWidthsI is disabled in Core.ini for Base, but reenabled for Win2000. So Usp10 must be set to Base or disabled. If set to default, it will inherit from the app that loads it resulting in incorrect behavour for Win2000+.

> LH5048 USP10 had to be set disabled were as LH4093 and MS Office XP 1.420.2600.5969 did not need be disabled.
LongHorn or other upgraded versions might probe for other functions, so Disabled is the safest mode for USP10. Thanks for testing these other versions and reporting what modes to use for each of them.

Share this post


Link to post
Share on other sites
Posted (edited)

Yes I checked 4.5.2 and USP10 is set disabled. Thanks for showing how to debug. Would wxHexEditor be easier for disassemble view of the libraries? It needs KEX winXP settings also msvcrt has to be not disabled so I give it a separate copy of msvcrt with winME settings. GNU General Public License. https://sourceforge.net/projects/wxhexeditor/files/wxHexEditor/ vs 0.23. 0.24 has a few bugs like KB letter T not working and search not finding correctly.

I finally got to look at debugging. There is no errors with DW for AdvSplash.dll or any other file. How did you determine that SetLayeredWindowAttributes not exported from User32.dll and stubbed? by KEX was the problem?

Win10 this text 04 70 00 2 shows as a down load link for some reason in Edge on my system?

Edited by Goodmaneuver

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.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...