Windows CORE OS (aka. Windows Lite) and the WIN32 ?

 I have been following the tech news about what is called “Windows CORE OS” or “Windows Lite”. What I am most interested in is its ability to run WIN32 apps.  I would like to briefly comment about this subject here.

WIN32 is important.

If Windows Core OS can run the core WIN32 API then it would benefit the operating system a great deal. Being able to run not only legacy apps, but new apps built for the WIN32, will allow developers to write tiny, fast running apps for the OS.  Apps written for the WIN32 can be amazingly small and fast, requiring minimum hardware.  This would be very beneficial for any new Windows devices which are very limited in hardware power.  It would be interesting to see some IOT devices that run Windows Core.

Having spent the last 20 years or so developing tools for writing WIN32 apps, I can attest to the raw power and speed a well written WIN32 app can have. 

Microsoft, are you looking for x86 WIN32 apps to test on Windows Core OS ?

Microsoft, are you looking for x86 WIN32 apps to test on your Windows Core OS ?  I have one for you. It is a test app I wrote for my GUI framework when Windows 8 came out to see how well Windows 8 supported core WIN32 APIs. The app not only ran flawlessly on Windows 8, but it continues to run well on every iteration of Windows 10 that has come out , so far.  It would be an excellent test app for Windows Core OS. Why ?

Because it does not have any dependencies other than the core WIN32 API. It does not use dot.net. It does not use any C runtimes. It does not use MFC or ATL. Just core OS DLL’s. The EXE dependencies are:

  • COMCTL32.DLL
  • GDI32.DLL
  • KERNAL32.DLL
  • OLE32.DLL
  • OLEAUT32.DLL
  • USER32.DLL

It also uses one DLL, which is my own GUI framework which is:

  • EZGUI50.DLL

My GUI framework only has the following dependencies:

  • ADVAPI32.DLL
  • COMCTL32.DLL
  • COMDLG32.DLL
  • GDI32.DLL
  • KERNAL32.DLL
  • OLE32.DLL
  • OLEAUT32.DLL
  • SHELL32.DLL
  • USER32.DLL

The framework also dynamically loads the Rich Edit and Theme DLLs if they exist, but ignored them if they don’t. Lastly if OpenGL exists (expects 2.0) it dynamically loads the OpenGL primary DLL for 3D.

As you can see, nothing fancy here. Basic OS DLL’s and that is it.  It doesn’t need DirectX or even GDIplus.

The test app does quite a lot and uses things like subclassing, superclassing, custom window classes, DIB sections, ownerdraw, customdraw, drag and drop.  If you load the EXE into the Dependency Walker utility, you will find the app uses a lot of WIN32 function calls. A quick count showed over 350 unique WIN32 function calls used, but likely much more when you add in calls made dynamically (via pointers).

You can download the app here:

http://cwsof.com/download/testwin8.zip

The zip file is only 3.8 megabytes in size.  Please feel free to use this app to test WIN32 compatibility on Windows Core OS.  If you have any questions I can be contacted at:   support@cwsof.com

I am really hoping Windows Core OS can run most WIN32 apps.