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. 

blackwingcat

KernelEx for Win2000

Recommended Posts

Tommy    111

That's quite a few functions. However, I was just saying that the error didn't come up on my test machines. Of course the installer itself failed but it didn't come up with a critical stop saying such and such cannot be read like it does on my main machine. It almost seems like it's related to the Windows Installer somehow, but I don't know. I could be wrong. Aside from USP5 and UpdateRollup 2, all I use as far as unofficial updates are blackwingcat's kernel extensions.

Edited by SearanoX

Share this post


Link to post
Share on other sites
tomasz86    68

@tomasz86

My msi.dll version is: 3.1.4001.5842

I think that you didn't tell us everything :whistle:

Aside from USP5 and UpdateRollup 2, all I use as far as unofficial updates are blackwingcat's kernel extensions.

MSI.DLL 3.1.4001.5842 is NOT included in any of those packages. You must've installed other updates too. Are you 100% sure that the problem happens with MSI installers only? Do any of them work or all just fail to start? Could you go to Services (services.msc) and try to manually start "Windows Installer"? What happens?

Even if it's not directly related to the issue which you've been experiencing, I myself did test this particular version of MSI.DLL in the past and found it very problematic (if not buggy). Windows Installer service just refused to start randomly. The situation came back to normal after I've restored the previous version (KB968006).

Share this post


Link to post
Share on other sites
blackwingcat    60

Version v22 series and previous v22i2  is so buggy that I delete Extended Kernel blog page before.

There are many reasons why the installer crashes with v22g.

I don't have the latest updates installed. The latest I have as of now is v22g installed, however it's been an ongoing thing for a few of these packs now. It unfortunately doesn't say which module is in question. But this is what I get out of the event viewer.

Share this post


Link to post
Share on other sites
tomasz86    68

@blackwingcat

It's just a comment / suggestion. You add and remove Cryptographic Services using a combination of SC.EXE, NET.EXE and update.inf:


[Product.Add.Reg]
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc", "Description", 0,"Provides three management services: Catalog Database Service, which confirms the signatures of Windows files; Protected Root Service, which adds and removes Trusted Root Certification Authority certificates from this computer; and Key Service, which helps enroll this computer for certificates. If this service is stopped, these management services will not function properly. If this service is disabled, any services that explicitly depend on it will fail to start."
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Parameters"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Parameters", "ServiceDll", 0x00020000, "%SystemRoot%\SystemXP\cryptsvc.dll"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Parameters", "ServiceMain", 0, "CryptServiceMain"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Security"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Security", "Security",0x01, 00,00,0e,00,01
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost","CryptWp",0x00010000,"CryptSvc"

[ProcessesToRun]
"sc create CryptSvc binpath= ""%systemroot%\system32\svchost.exe -k CryptWp"" type= share start= auto displayname= ""Cryptographic Services"" depend= RpcSs"

[ProcessesToRunBeforeUninstall]
"net stop CryptSvc"
"sc delete CryptSvc"

All of this can be done through update.inf without using any other tools. This is an alternative way:


[Save.Reg.For.Uninstall]
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost","CryptWp"

[Product.Add.Reg]
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","Description",,"Provides key management services for this computer."
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","Type",0x10001,0x20
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","Start",0x10001,0x2
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","ErrorControl",0x10001,0x1
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","ImagePath",0x20000,"system32\svchost.exe -k CryptWp"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","DisplayName",,"Cryptographic Services"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","DependOnService",0x10000,"RpcSs"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc","ObjectName",,"LocalSystem"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Parameters","ServiceDll",0x20000,"%%SystemRoot%%\SystemXP\cryptsvc.dll"
HKLM,"SYSTEM\CurrentControlSet\Services\CryptSvc\Parameters","ServiceMain",,"CryptServiceMain"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost","CryptWp",0x10000,"CryptSvc"

The key point is that in "ImagePath" you don't need to specify a full path as it automatically assumes that the path is inside %systemroot% so "system32\svchost.exe -k CryptWp" is enough.

Share this post


Link to post
Share on other sites
tomasz86    68

The crash reason is the ImageList structure of windows 2000 is different from XP's.

You can run it with the follwoing way.

* download Windows XP MS12-048:

* extract WindowsXP-KB2691442-x86-XXX.exe /x

* copy shell32.dll to %ProgramFiles%\FreeFileSync\Bin

@blackwingcat

FreeFileSync doesn't work with kernel v21a :( It works in a "stock" system. After installing the kernel it doesn't even start.

DRWatson error from Event Viewer:

The application, , generated an application error The error occurred on 09/08/2012 @ 09:13:55.507 The exception generated was c0000005 at address 02691535 (getIconByIndex)

I'm still unable to make FreeFileSync start :} Nothing happens even after copying shell32.dll from XP's KB2691442 to the Bin folder. Does it work on your computer?

Share this post


Link to post
Share on other sites
blackwingcat    60

Yes, I could run it.

You can use shlwaxp.dll and shellxp.dllwhich are inclueded in itunes installer for WIndows 2000.

and plz set dynamic link mode with fcwin.

I'm still unable to make FreeFileSync start :} Nothing happens even after copying shell32.dll from XP's KB2691442 to the Bin folder. Does it work on your computer?

Share this post


Link to post
Share on other sites
tomasz86    68

I'm still unable to make it run.

I've changed dependencies like this:

rplbfile FreeFileSync_Win32.exe shell32.dll shellXP.dll

and tried to start it both with shell32.dll (renamed to shellXP.dll) from KB2691442 and shellXP.dll from KDW. There's no error in the Event Viewer or in DrWatson but the program just doesn't start. Nothing happens after double-clicking on it :(

I wonder whether it would be possible to just make it work normally without changing anything. FreeFileSync itself does work in a stock Win2k...

Share this post


Link to post
Share on other sites
gerry9    0

@Blackwingcat

Hello Blackwingcat! One of the reasons I install Windows 2k is to use legacy software - could the installation of KernelEx or Kernel Core break compatibility of DOS/WIN3.1/WIN9x applications and games?

And for anybody willing to reply, what exactly is the difference between KernelEx and Kernel Core? It's hard to find info..

Share this post


Link to post
Share on other sites
tomasz86    68

I've done more testing regarding FreeFileSync. If I install the kernel without shell32.dll then FreeFileSync works. If the new shell32.dll is installed then it doesn't work no matter how I change the dependencies. It just doesn't start :(

DrWatson shows this error:

The application, , generated an application error The error occurred on 11/07/2012 @ 16:41:11.511 The exception generated was c0000005 at address 01D41535 (getIconByIndex)

Full log:

State Dump for Thread Id 0x2f8

eax=00257928 ebx=7c57b5fc ecx=0022eb30 edx=4c4d4948 esi=00000005 edi=7c57b5e8
eip=01d41535 esp=0022eb20 ebp=0022eb38 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206


function: getIconByIndex
01d41515 0f888a000000 js getIconByIndex+0xb5 (01d415a5)
01d4151b 85c0 test eax,eax
01d4151d 0f848e000000 je getIconByIndex+0xc1 (01d415b1)
01d41523 53 push ebx
01d41524 56 push esi
01d41525 8b7508 mov esi,[ebp+0x8] ss:00968a1e=0ec7410c
01d41528 8d4df8 lea ecx,[ebp+0xf8] ss:00968a1e=0ec7410c
01d4152b 51 push ecx
01d4152c c745f800000000 mov dword ptr [ebp+0xf8],0x0 ss:00968a1e=0ec7410c
01d41533 8b10 mov edx,[eax] ds:00257928=4c4d4948
FAULT ->01d41535 8b5278 mov edx,[edx+0x78] ds:4cc0e82e=????????
01d41538 56 push esi
01d41539 50 push eax
01d4153a 32db xor bl,bl
01d4153c ffd2 call edx
01d4153e 85c0 test eax,eax
01d41540 7806 js getIconByIndex+0x8a58 (01d49f48)
01d41542 8a5df8 mov bl,[ebp+0xf8] ss:00968a1e=0c
01d41545 80e301 and bl,0x1
01d41548 8b45fc mov eax,[ebp+0xfc] ss:00968a1e=0ec7410c
01d4154b 8d55f4 lea edx,[ebp+0xf4] ss:00968a1e=0ec7410c
01d4154e 52 push edx

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0022EB38 00488A3D 00000005 00000001 00000000 000002B4 !getIconByIndex [omap]
0022EE98 0048AF6C 00000000 77FB7E74 77F81BB8 FFFFFFFF !<nosymbols> [omap]
0022EF18 0049B866 00000000 00000001 70869C10 0022F1B0 !<nosymbols> [omap]
0022EFB8 0049BCD5 017246D0 0171FC90 01745328 01719C78 !<nosymbols> [omap]
0022F018 005109B3 017246D0 0171FC90 0172A500 0022F1B0 !<nosymbols> [omap]
0022F7E8 0051221A 0022F8F8 0022F8CC 0022F99C 00000000 !<nosymbols> [omap]
0022F858 005125E8 0022F8F8 0022F8CC 0022F99C 00000000 !<nosymbols> [omap]
0022FA78 004482B6 0022FB20 00DEAD30 FFFFFFFF 0044734C !<nosymbols> [omap]
0022FCB8 0064AD26 0022FD5C 00DE0000 00000000 70869C10 !<nosymbols> [omap]
00000000 00000000 00000000 00000000 00000000 00000000 !<nosymbols> [omap]

*----> Raw Stack Dump <----*
0022eb20 30 eb 22 00 00 00 00 00 - fc b5 57 7c fc b5 57 7c 0.".......W|..W|
0022eb30 00 00 00 00 28 79 25 00 - 98 ee 22 00 3d 8a 48 00 ....(y%...".=.H.
0022eb40 05 00 00 00 01 00 00 00 - 00 00 00 00 b4 02 00 00 ................
0022eb50 b0 61 24 00 be b4 fc 77 - 18 b6 fc 77 a8 77 6f 01 .a$....w...w.wo.
0022eb60 00 02 00 00 ea ac fc 77 - 00 00 00 00 cc ee 22 00 .......w......".
0022eb70 41 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 A...............
0022eb80 f0 14 d4 01 4c 6f 63 61 - 6c 5c 7b 43 31 35 37 33 ....Local\{C1573
0022eb90 30 45 32 2d 31 34 35 43 - 2d 34 63 35 65 2d 42 30 0E2-145C-4c5e-B0
0022eba0 30 35 2d 33 42 43 37 35 - 33 46 34 32 34 37 35 7d 05-3BC753F42475}
0022ebb0 2d 6f 6e 63 65 2d 66 6c - 61 67 49 4b 45 43 4f 4a -once-flagIKECOJ
0022ebc0 41 41 49 47 43 41 41 41 - 41 41 00 77 00 00 00 00 AAIGCAAAAA.w....
0022ebd0 05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ebe0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ebf0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec00 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec10 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec20 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec30 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec40 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
0022ec50 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................

State Dump for Thread Id 0x4f8

eax=77d37dd0 ebx=00246808 ecx=0022ec38 edx=00000000 esi=002466f0 edi=00000100
eip=77f88b37 esp=01abfe28 ebp=01abff74 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000202


function: NtReplyWaitReceivePortEx
77f88b2c b8ac000000 mov eax,0xac
77f88b31 8d542404 lea edx,[esp+0x4] ss:021f9d0f=????????
77f88b35 cd2e int 2e
77f88b37 c21400 ret 0x14
77f88b3a 8bff mov edi,edi

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
01ABFF74 77D58E4A 77D3AEED 002466F0 77D50101 00230000 !NtReplyWaitReceivePortEx [omap]
01ABFFA8 77D37DE8 002464B0 01ABFFEC 7C57B3BC 00246808 !TowerConstruct [omap]
01ABFFB4 7C57B3BC 00246808 77D50101 00230000 00246808 !I_RpcConnectionInqSockBuffSize2 [omap]
01ABFFEC 00000000 00000000 00000000 00000000 00000000 !lstrcmpiW [omap]

State Dump for Thread Id 0x4c0

eax=7ce85b03 ebx=00000102 ecx=00640062 edx=00000000 esi=77f88398 edi=01cbff74
eip=77f883a3 esp=01cbff60 ebp=01cbff7c iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000206


function: NtDelayExecution
77f88398 b832000000 mov eax,0x32
77f8839d 8d542404 lea edx,[esp+0x4] ss:023f9e47=????????
77f883a1 cd2e int 2e
77f883a3 c20800 ret 0x8
77f883a6 8bff mov edi,edi

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
01CBFF7C 7C59A2CC 0000EA60 00000000 7CE89AEA 0000EA60 !NtDelayExecution [omap]
01CBFF88 7CE89AEA 0000EA60 7CE85BC5 00000000 7CE20000 !Sleep [omap]
00000000 00000000 00000000 00000000 00000000 00000000 !UpdateDCOMSettings [omap]

*----> Raw Stack Dump <----*
01cbff60 01 a3 59 7c 00 00 00 00 - 74 ff cb 01 31 a0 59 7c ..Y|....t...1.Y|
01cbff70 60 8d 24 00 00 ba 3c dc - ff ff ff ff 30 75 00 00 `.$...<.....0u..
01cbff80 cc a2 59 7c 60 ea 00 00 - 00 00 00 00 ea 9a e8 7c ..Y|`..........|
01cbff90 60 ea 00 00 c5 5b e8 7c - 00 00 00 00 00 00 e2 7c `....[.|.......|
01cbffa0 60 8d 24 00 ec ff cb 01 - 60 8d 24 00 1d 5b e8 7c `.$.....`.$..[.|
01cbffb0 85 7d e3 7c 70 7d e3 7c - bc b3 57 7c 60 8d 24 00 .}.|p}.|..W|`.$.
01cbffc0 85 7d e3 7c 70 7d e3 7c - 60 8d 24 00 00 c0 fd 7f .}.|p}.|`.$.....
01cbffd0 62 00 64 00 c0 ff cb 01 - 62 00 64 00 ff ff ff ff b.d.....b.d.....
01cbffe0 60 21 5c 7c 08 2b 57 7c - 00 00 00 00 00 00 00 00 `!\|.+W|........
01cbfff0 00 00 00 00 03 5b e8 7c - 60 8d 24 00 00 00 00 00 .....[.|`.$.....
01cc0000 c8 00 00 00 00 01 00 00 - ff ee ff ee 02 10 00 00 ................
01cc0010 00 00 00 00 00 fe 00 00 - 00 00 10 00 00 20 00 00 ............. ..
01cc0020 00 02 00 00 00 20 00 00 - 0d 00 00 00 ff ef fd 7f ..... ..........
01cc0030 06 00 08 06 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
01cc0040 00 00 00 00 98 05 cc 01 - 0f 00 00 00 f8 ff ff ff ................
01cc0050 50 00 cc 01 50 00 cc 01 - 40 06 cc 01 00 00 00 00 P...P...@.......
01cc0060 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
01cc0070 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
01cc0080 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
01cc0090 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................

Edit: After doing more testing I've found out that FreeFileSync works with:

shell32.dll 5.0.3900.7171 (KB935839-v17c)

but is broken when

shell32.dll 5.0.3900.7177

or newer is installed.

Edited by tomasz86

Share this post


Link to post
Share on other sites
blackwingcat    60

Hi.

I think the Extended kernel and extended core keep compatibility.

Extended kernel is Windows API Extender.

Extended Core is Kernel (for Driver) Exntender.

@Blackwingcat

Hello Blackwingcat! One of the reasons I install Windows 2k is to use legacy software - could the installation of KernelEx or Kernel Core break compatibility of DOS/WIN3.1/WIN9x applications and games?

And for anybody willing to reply, what exactly is the difference between KernelEx and Kernel Core? It's hard to find info..

Share this post


Link to post
Share on other sites
blackwingcat    60

Hi.

The error came from Thumbnail_Win32.dll.

you must change the link in Thumbnail_Win32.dll. :)

If you want more my help, plz see my blog article in 7 hours. :)

I'm still unable to make it run.

I've changed dependencies like this:

rplbfile FreeFileSync_Win32.exe shell32.dll shellXP.dll

and tried to start it both with shell32.dll (renamed to shellXP.dll) from KB2691442 and shellXP.dll from KDW. There's no error in the Event Viewer or in DrWatson but the program just doesn't start. Nothing happens after double-clicking on it :(

I wonder whether it would be possible to just make it work normally without changing anything. FreeFileSync itself does work in a stock Win2k...

Share this post


Link to post
Share on other sites
gerry9    0

Hi.

I think the Extended kernel and extended core keep compatibility.

Extended kernel is Windows API Extender.

Extended Core is Kernel (for Driver) Exntender.

Thank you! So far no problems with version 22j. Running programs from 1994 to 2012 natively! :thumbup

Share this post


Link to post
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.

×