You get a warning if a minimum version is specified and SubSystem is not. WINDOWS is for "applications that don't require a console" (like the DLLs) and apparently the only difference is in standard (main/WinMain/etc) entry point handling... which shouldn't be an issue in the DLLs.