Windows Server 2003 (NT 5.2.3790.0) build guide

Windows 10 Compatibility for Windows XP/2003 (WIP) - extras for ADVAPI32.DLL

Implementation of some ADVAPI32.DLL functions, available in Windows versions released after Windows XP/2003, to get software to that is compatible with Windows 2003R2/Vista/2008/2008R2/7/8/8.1/2016/10/2019 to run in Windows XP/2003.

The current implementation of C code compiles and links fine with the existing ADVAPI32.DLL code, but is a work in progress.

This is not intended to be a secure implementation for now, just intended to provide compatibility. Some functions are being tested now, more information here Wine-on-Windows

New files implementing functions start with an _. Missing functions in applications can be found out by loading the executable into Dependency Walker (depends.exe). This code can be used to to further with this test harness.

Needs help as they are many functions to be back-ported!

Requirements

  1. A x86 version of Windows 2003 / XP SP1 with source code available: see build-win2k3
  2. Disable Windows File Protection when DLL’s replacing after installation, see https://www.technipages.com/enable-disable-wfp
  3. Ability to execute executables built for newer versions than Windows XP SP2 / Windows Server 2003 RTM (NT 5.2).

Changes

Changes only happen in \mergedcomponents\advapi32

  1. (Included in the patched files) In \mergedcomponents\advapi32\advapi32.def: add these two lines
    EventRegister = ntdll.EtwEventRegister
	EventUnregister = ntdll.EtwEventUnregister
	EventWrite = ntdll.EtwEventWrite
	EventWriteTransfer = ntdll.EtwEventWriteTransfer
	EventWriteEx = ntdll.EtwEventWriteEx
	EventSetInformation = ntdll.EtwEventSetInformation
  1. Run bcz in \mergedcomponents\advapi32
  2. Overwrite the created \mergedcomponents\advapi32\obj\i386\ADVAPI32.DLL in the C:\WINDOWS\SYSTEM32 folder of your Windows XP installation.
FunctionStatusFunctionalityLast updated
EventRegisterImplementedredirected to NTDLL.DLL2020/11/30
EventUnregisterImplementedredirected to NTDLL.DLL2020/11/30
EventWriteImplementedredirected to NTDLL.DLL2020/11/30
EventWriteTransferImplementedredirected to NTDLL.DLL2020/11/30
EventWriteExImplementedredirected to NTDLL.DLL2020/11/30
EventSetInformationImplementedredirected to NTDLL.DLL2020/11/30