deomsh Posted January 11, 2019 Posted January 11, 2019 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.
Goodmaneuver Posted January 12, 2019 Posted January 12, 2019 (edited) @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 January 24, 2019 by Goodmaneuver clarity
jumper Posted January 12, 2019 Author Posted January 12, 2019 @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
Goodmaneuver Posted January 13, 2019 Posted January 13, 2019 (edited) @ 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 January 13, 2019 by Goodmaneuver typo
jumper Posted January 16, 2019 Author Posted January 16, 2019 > 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 1
Goodmaneuver Posted January 18, 2019 Posted January 18, 2019 (edited) @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 January 18, 2019 by Goodmaneuver
schwups Posted January 18, 2019 Posted January 18, 2019 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?
jumper Posted January 19, 2019 Author Posted January 19, 2019 @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.
jumper Posted January 19, 2019 Author Posted January 19, 2019 @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?
Goodmaneuver Posted January 19, 2019 Posted January 19, 2019 (edited) @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 January 20, 2019 by Goodmaneuver it was not quite right
schwups Posted January 19, 2019 Posted January 19, 2019 @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.
deomsh Posted January 22, 2019 Posted January 22, 2019 (edited) @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 January 28, 2019 by deomsh correction
Goodmaneuver Posted January 23, 2019 Posted January 23, 2019 (edited) 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 April 26, 2019 by Goodmaneuver found solution
deomsh Posted January 27, 2019 Posted January 27, 2019 (edited) @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 January 28, 2019 by deomsh corrections
Goodmaneuver Posted January 27, 2019 Posted January 27, 2019 (edited) 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 February 6, 2019 by Goodmaneuver update in response to Deomsh's edit and my bat file comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now