In english: "The WKIX32.EXE is linked to missing export KERNEL32.DLL:IsDebuggerPresent."

But I found a person who solved this problem.

Probably it happens because the KiXtart 4.60 was compiled in VS Studio 2005...

I found a tip from Ted in to solve this problem:



For Windows 95, you have to:

1) Link statically (change settings under Properties - C/C++ - Code Generation - Runtime Library to Multithreaded /MT)

2) Copy two files into your project from the C Runtime source code (\Program Files\Microsoft Visual Studio 8\vc\CRT\SRC): invarg.c and gs_report.c. Do not change their names.

3) add the above files to your project and change project settings so additional include directories of the two files are:


4) Change the two references of IsDebuggerPresent() to FALSE

5) Put the define #define _CRTBLD at the top of each of these files

6) Change one reference of extern "C" for _initp_misc_invarg in invarg.c to extern

7) Make sure both of the above files are set to compile as C Code (under project settings C/C++ - Advanced - Compile As)

8) Rebuild all.

Now you have an app that is not dependent on IsDebuggerPresent and it should run on Windows 95.

However, if you want to use the DLL version of CRT on Windows 95 (similar to instructions given for NT 4 in the link OShah provided) you will also have to deal with InterlockedCompareExchangePointer function called in startup code of the CRT. This can be rewritten to not use this function, however, I'll leave that for another time.

Raphael Pereira