Jump to content

KernelEx 2022 (Kex22) Test Versions (4.22.26.2)


jumper

Recommended Posts

KernelEx 4.5.2018: Regsvr32.EXE has sometimes problems registering non-standard Win9x files. I had to set Compatibility mode "Windows 95" or even "Windows Millennium" for Regsvr32.EXE, even if the file that had to be registered was already set to needed (NT version) Compatibility mode.
 

Link to comment
Share on other sites


@Deomsh. Win2K or similar vs of regsvr32 with 2K settings is required for registration of some files. The files I am talking about do not have import errors as shown by Depends.

@Jumper, can we link setupapi.dll to cfgmgr32.dll so that the CM_..... functions be used in calls to setupapi.dll?

Edited by Goodmaneuver
clarity
Link to comment
Share on other sites

@Goodmaneuver: I haven't seen an app that calls both the traditional and CM functions from setupapi.dll, so making a local copy of cfgmgr32.dll renamed to setupapi.dll usually works. You can also forward them individually with Kexstubs.dll. That said, K.18 aleady forwards CM_Get_Device_IDW. K.19 will also forward CM_Get_Device_IDA and CM_Get_Parent. Do you need any others?

@deomsh: Noted. Let me know when you have more details.

@schwups: Try adding this to Core.ini:
[WINXP.names]
KERNEL32.CheckRemoteDebuggerPresent=kexstubs.0


Link to comment
Share on other sites

@ Jumper, I have only seen one program that just called CM entries namely Leawo Blu-ray player. I tried renaming cfgmgr32 but some of the system libraries need the real setupapi. Anyway I would like to see the net.framework working again. I think it would be possible to get up to 3.5 working. Also it would be good to see Maxthon 3 working as I have written in Backporting newer browsers to Win9X with KernelEx. The K.19 CM additions will be good, I need to check for others soon. 

I have only been testing above 4.5.2 for a few months and I would like to help more but I need help on what I need to do.

 

Edited by Goodmaneuver
typo
Link to comment
Share on other sites

> Leawo Blu-ray player ... net.framework ... Maxthon 3
Test them with ImportPatcher and report what is missing.

After looking back at old notes from loblo and others, I found 20 other CM_* requests. The supported list will now be:

[SETUPAPI.DLL]
CM_Connect_MachineA
CM_Get_Child
CM_Get_Child_Ex
CM_Get_DevNode_Registry_PropertyW
CM_Get_DevNode_Registry_Property_ExA
CM_Get_DevNode_Registry_Property_ExW
CM_Get_DevNode_Status
CM_Get_DevNode_Status_Ex
CM_Get_Device_IDA
CM_Get_Device_IDW
CM_Get_Device_ID_ExA
CM_Get_Device_ID_ExW
CM_Get_Device_ID_ListW
CM_Get_Device_ID_List_SizeW
CM_Get_Parent
CM_Get_Parent_Ex
CM_Get_Sibling
CM_Get_Sibling_Ex
CM_Locate_DevNodeA
CM_Locate_DevNodeW
CM_Open_Class_KeyA
CM_Set_DevNode_Problem_Ex
CM_Setup_DevNode_Ex


Link to comment
Share on other sites

@Jumper, can function redirection use wild cards in KlEx eg CM_*=CFGMGR32.dll if not then these functions I would like to add to the setupapi list

CM_Connect_MachineW
CM_Disconnect_Machine
CM_Free_Log_Conf_Handle
CM_Free_Res_Des_Handle
CM_Get_Device_ID_Size
CM_Get_Device_ID_Size_Ex
CM_Get_Device_ID_List_Size_ExW
CM_Get_DevNode_Registry_PropertyA
CM_Get_First_Log_Conf_Ex
CM_Get_Next_Res_Des_Ex
CM_Get_Res_Des_Data_Ex
CM_Get_Res_Des_Data_Size_Ex
CM_Locate_DevNode_ExW
CM_Open_DevNode_Key
CM_Reenumerate_DevNode_Ex

Can we redirect wmi* functions when called for in advapi.dll be redirected to wmi.dll?
Can _except_handler4_common calls to msvcrt be redirected to msvcr80?

Leawo I was just using as an example. Maxthon 3 and Net.framework do not have any import issues.

Edited by Goodmaneuver
Link to comment
Share on other sites

On Samstag, 12. Januar 2019 at 8:42 PM, jumper said:

@schwups: Try adding this to Core.ini:
[WINXP.names]
KERNEL32.CheckRemoteDebuggerPresent=kexstubs.0

I tried this with two different lines in the [BASE] section, but I can't see an effect.

[BASE]
contents=kexstubs,std,kexbasen,kexbases

- here in [WINXP.names]
KERNEL32.CheckRemoteDebuggerPresent= kexstubs .0

and

[[BASE]
contents=kexstubs,std,kexbasen,kexbases,k452stub
- here in [WINXP.names]
KERNEL32.CheckRemoteDebuggerPresent=k452stub.0


The second case was to overwrite kexbases. The runtime error on VLC3 start still persists.
I don't comprehend your advice to test that line in the core.ini.
Why Kexstubs (CheckRemoteDebuggerPresent=kexstubs.0) and why in [WINXP.names] section, although VLC must work with "default mode" and not XP mode?
 

Link to comment
Share on other sites

@Goodmaneuver:

> can function redirection use wild cards in KlEx eg CM_*=CFGMGR32.dll
Not yet and not soon. It is planned, however.

> if not then these functions I would like to add to the setupapi list ...
I can do this, but do you really need them? If you are just experimenting, use Kexstubs to implement them yourself.

> Can we redirect wmi* functions when called for in advapi.dll be redirected to wmi.dll?
Yes, I found 23 functions that match. But WMI is not standard on 98/SE. SE needs an installer and 98 also needs IE5+. 98/SE/ME all need additional updates as well. So, no, I will not be doing this. You can use Kexstubs if you want to experiment.

> Can _except_handler4_common calls to msvcrt be redirected to msvcr80?
Msvcr80 is not standard. Use Kexstubs.

Link to comment
Share on other sites

@schwups: KERNEL32.CheckRemoteDebuggerPresent didn't exist before XP. VLC should be running in XP mode to use it. Why are you using k452stub and in which *stub.ini file do you have [KERNEL32] CheckRemoteDebuggerPresent defined?

Link to comment
Share on other sites

@Jumper, About the setupapi list, I will put the functions to use I think, I am trying to upgrade my systems capabilities. It does not make a lot of sense to have connect machine without disconnect machine. I think a limited pick would be too restrictive. Your right I am experimenting learning a bit along the way.

WMI.dll is standard with 98/SE (FE cab 40) (SE cab 44) vs 5.0.1755.1 and is standard with WinME vs 4.90.2452.0. Why is it important that only the original libraries be used?

VLC2 when going through the K.18 modes from top of list everything works OK till XPSP2 and higher is selected then the menu font width is thinner, the top tab menus do not drop down/work and the app tends to want to terminate (crash-out). Alias for base enhancements works.

Edited by Goodmaneuver
it was not quite right
Link to comment
Share on other sites

 

@jumper: According to my tests should the culprit exist since update 11 in Kexbases. Like I said VLC 3 works up to update 10.  You added "KERNEL32.CheckRemoteDebuggerPresent=" and many more API's to Kexbases 11.

I entered "KERNEL32.CheckRemoteDebuggerPresent=" to k452stub to overwrite kexbases here. That's the only way it makes sense to me. The function in the stub file on the left (contents=kexstubs,std,kexbasen,kexbases) is irrelevant, because it should be overwritten by Kexbases 11 or higher.

VLC 2/3 is useless in XP mode. Probably the same applies to version 1.x.x. Goodmaneuver described the errors.


 

Link to comment
Share on other sites

 

@jumper: about REGSVR32.EXE, I am not sure if relevant anymore, but here some details.

Registering LAV Filters 0.70.2 (last XP version) with MSVCRT=MSVCR70.DLL in KnownDlls (linking three needed API's with Kstubs822 is not working: "_aligned_free",  "_aligned_alloc" and  "_aligned_malloc").

Other compatibility mode on REGSVR32 was only needed in case of using Total Commander's command-line. With "Run" or in Dosbox "Default" was good enough, I found out later. A bit strange was that "BASE" did the trick already in case of Total Commander's command-line (didn't try earlier). Is there a difference in KernelEx 4.5.2018 between "Use default compatibility options (KernelEx is enabled)" and "Use specific compatibility mode: Base enhancements (Api fixes + extentsions)", other than enabling "Advanced options" choices?

After a full Windows 98SE reinstall, as Vanilla as possible (some DLL's only updated by DirectX9.0c, NUSB3.3, and Windows Installer 2.0 - NO Unofficial Servicepacks, NO new IE-version), "Default  Compatibility Mode" was ALWAYS enough. Using the official LAV Filters 0.70.2 Installer ("Windows 2003 SP1 Compatibility Mode" minimum needed!) registering during installation already succeeded.

Only remaining "thing" is that registering LAV Filters AX-files was NEVER possible with KernelEx "Disabled" for REGSVR32 (GetLastError 0x0000001F), different from all other media-files I tried.
 

Edited by deomsh
correction
Link to comment
Share on other sites

When modules have KernelEx default settings then they take on the KernelEx setting of the module that loaded them. Individual settings if other than default will dominate over the load modules' settings. I tried the LAV filters, they register during installation but would not update registry settings from the config menu. I fluked a reasonable outcome at first install as I did not want LAV audio as it does not work my sound card that well (hisses) on KMplayer. The LAV session had prevented scanreg /restore from working from inside Windows, I had to just run scanreg first then scanreg /restore worked.

I had some unicows errors so I gave KenelEx a copy of unicows in its directory as well as the system and had it registered as KernelEx KnownDll. This worked better for sure but the knowdlls for KerenelEx really only work as a version conflict manager. Having different versions of files in the system and KernelEx directory registered as KernelEx KnownDll does not work. Rest assured when experimenting with differing msvcrt versions meant chaos and these experiments were done with 4.5.2.  I shifted the KernelEx to the system by updating the registry and then re-installing 4.5.2.

Edited by Goodmaneuver
found solution
Link to comment
Share on other sites

@Goodmaneuver: About LAV Filters 0.70.2 there are two path-related problems. I hope this is still on-topic. :}

First is that the installer (compat. mode minimum Windows 2003 SP1!) seems to work only from a folder without certain characters.

Second: configuring LAV Filters without running a media file is possible after rewriting the shortcuts. Strip the path to the wanted LAV Filter in "Target". The full path is already in "Start in", In case of "LAV Audio Configuration" "Target" must become "C:\WINDOWS\rundll32.exe LAVAudio.ax,OpenConfiguration" and so on for the others (without qoutes!). This trick works for (latest) FFDShow configuration shortcuts too.

On my system changes are correctly stored in the registry, no problems at all. "Enable system tray icon" is not working.

I tried all KEX-versions i have, only 03 and 06 are missing - am not sure if they were ever published. All my versions are working on my new Almost-Vanilla installation, except 11 and 11a. Without KStubs LAV Filters are supported in 4.5.2016 and higher.
 

Edited by deomsh
corrections
Link to comment
Share on other sites

Yes I had removed the quotation marks. I rebooted several times after attempting changes via the config menus. The changes never happened so I did a re-install to adding more formats using LAV then WMplayer did not want to play anything nor did KMplayer4. I unticked every box from the LAV config menus. I then did a registry restore but could have reinstalled LAV without install boxes ticked.

I still can not use directory names that have spaces between letters in regsvr32, rundll32 or autoexec.

Drugwash did KEX-version 03 but his "humble contribution to the world" eludes my attempts of obtaining it so far.

Edited by Goodmaneuver
update in response to Deomsh's edit and my bat file comment
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...