Jump to content

PE Tool for creating patches


WildBill

Recommended Posts

Boy, this is bizarre. What happens if you try the patch directly instead of slipstreaming?

That's the point. I've had this problem when patching directly and no problem on a VM with a slipstreamed CD (the same Win2k Advanced Server). It may be important that VirtualBox I'm running recognises only 1 core though.

Also, what happens if you run the patch on a Pro system vs. Server? I know this could take a while to test... :/

I make backups of files at certain points when I patch them, so I might have to build a special patch for you with early versions to try to isolate where the failure takes place.

I'll try to do a test using different edition of 2K. I'll also try to install the patch on my laptop (P3-M 933MHz) to see if this issue is limited only to my desktop PC or not.

Thanks for help anyway :) I'll try to post the results as soon as possible.

Edited by tomasz86
Link to comment
Share on other sites


Here's another test: I replaced the two multiprocessor files with early versions (the uniprocessor files are still v4). They're so early that I hadn't even bumped up the file versions yet, so be careful if you slipstream to make sure that they get copied. The changes are limited to the security patch itself, CPU count patch, EncodePointer and DecodePointer support, and two added routines (KeAcquireInterruptSpinLock and KeReleaseInterruptSpinLock). I'd be shocked if there are issues with EncodePointer and DecodePonter, because I actually wrote a program to unit-test them early on.

If you're using SQL Server 2005, you can expect it to show an error when you boot up, since the kernel32.dll in the patch includes IsWow64Process but the early kernel EXE files don't yet strip out the KEY_WOW64_32KEY and KEY_WOW64_64KEY flags in NtOpenKey and NtCreateKey.

Windows2000-KB2393802-v1-early-c2-x86-ENU.exe

Edited by WildBill
Link to comment
Share on other sites

I have good news. The v1-early-c2 works perfectly.

---

I also fixed a bug in Windows Installer 4.5 which prevented Windows Installer service from being started. In case you've already installed v1 you should run from command prompt "msiexec /regserver" to make it work properly.

It's now available in two versions.

Windows2000-WindowsInstaller45-v2-x86-Global.exe (This version cannot be slipstreamed!)

Windows2000-WindowsInstaller45-v2-x86-Global-HFSLIP.exe (This version can be slipstreamed using HFSLIP from HFGUIRUNONCE folder.)

The first one is just a standard MS update format which cannot be slipstreamed. The other one is a switchless installer version which must be run after Windows has started. It won't work when run in T-13.

Edited by tomasz86
Link to comment
Share on other sites

I prepared a few new updates:

  • - Microsoft Remote Desktop 5.2 for Windows 2000/XP/2003 (goes to HFSVCPACK_SW1)
    - Windows Installer 4.5 for Windows 2000 (goes to HFGUIRUNONCE); WildBill's KBz2360937 & KB2393802 required.
    - KB906569 (msconfig.exe update)
    - KB950305 (UniDriver fix)
    - KB954193 (MS Jet 4.0 fix)

and also added WildBill's updates to the list:

  • - KB2360937 - new function added to rpcrt4.dll
    - KB2393802 - WildBill's kernel patch; many new functions added
    - KB2508429 - SMB Server fix; many new functions added

Details here.

After installing MSI 4.5 on my Win2000 Server EN. I can't install any *.msi package. Setup show's message "the windows installer service could not be accessed. this can occur if the windows installer is not correctly installed. Contact your support personnel for assistance".

You can see also errors in "Event Viewer"

The Windows Installer service terminated with the following error:

"Overlapped I/O operation is in progress. "

Link to comment
Share on other sites

tomasz86,

Run "msiexec /regserver" works ok, but I can't install any msi package. In event Viewer is error message:

example.

Failed to begin a Windows Installer transaction C:\WindowsDefender_PL_1.1.1593.0.msi.

Error 1603 occurred while beginning the transaction.

Link to comment
Share on other sites

Strange... Does it happen with ALL msi packages or only with that particular one (Windows Defender)? I don't have any problems with running .msi packages here.

Could you check if you can start "Windows Installer" service manually (services.msc)?

I checked this Windows Defender, and first of all if you try to run it on Windows 2000 you see this:

gRFips.png

and after editing the installer with Orca it seems to work OK:

TL6mHs.png

EDIT

Indeed there seems to be something wrong. I need to do more tests.

Edited by tomasz86
Link to comment
Share on other sites

I can run manually msi 4.5 from services.msc

I rewrited windows defender msi with fcwin2k "blackwingcat"

seems to work OK but not installs .

You can try install adminpak.msi ( Windows 2000 Administrative Tools) or any **.msi package

The first screen of setup (defender, adminpak) works ok, but when you try installing, you see message "setup failed". For more details look to event Viewer

For help you can try

http://support.microsoft.com/kb/223300 ->msi logging

http://www.advancedinstaller.com/user-guide/qa-log.html

or

run msi package with switch

C:\**.msi /L*V C:\log\example.log

Edited by piotrhn
Link to comment
Share on other sites

I have good news. The v1-early-c2 works perfectly.

Great. At least that stuff can be ruled out. I pulled it and posted this one to try, which is the next step up. It should work, as it adds a bunch of dead code and a few exported routines:

RtlInt64ToUnicodeString

RtlIntegerToUnicode

RtlClearBit

RtlTestBit

RtlSetBit

Windows2000-KB2393802-v1-early-c3-x86-ENU.exe

If that works, this one hooks in the dead code and adds a few more routines:

ZwQueryInformationThread

IoForwardIrpSynchronously

IoForwardAndCatchIrp

Windows2000-KB2393802-v1-early-c4-x86-ENU.exe

Edited by WildBill
Link to comment
Share on other sites

Here are the results:

1. Early-c3 doesn't work. After loading acpitabl.dat an error about ntoskrnl.exe missing or corrupt pops up.

2. Early-c4 seems to work OK.

It looks like the checksum was wrong in c3, which is why it wouldn't load. If c4 works then you can ignore c3. Tomorrow I'll put together a c5 for you ;)

Link to comment
Share on other sites

I'm looking forward to it :)

---

I've disabled downloading of MSI 4.5 until it's fixed. Please uninstall MSI 4.5 and continue using MSI 3.1 as MSI 4.5 doesn't work at this moment. I'm sorry for this confusion :(

Link to comment
Share on other sites

Ok, here's a c5 version. This adds the following:

PsRemoveLoadImageNotifyRoutine

PsRemoveCreateThreadNotifyRoutine

plus redesigned PsCallImageNotifyRoutines, PsSetLoadImageNotifyRoutine, PsCallThreadNotifyRoutines, PsSetCreateThreadNotifyRoutine. Basically everything before I started putting in bootskin support.

Windows2000-KB2393802-v1-early-c5-x86-ENU.exe

Link to comment
Share on other sites

Hmm. That suggests a problem in the boot skin support. Let's try this:

1. Do you have any /bootskin settings in your boot.ini?

2. What happens if you add something like this, using V3 or V4-test1:

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /bootskin=0

Or this: multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /bootskin=1:0:0:0:0:0:416:640:10:4

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