Native Binary Scanning Tool (NanoServerApiScan.exe) for Nano Server

This blog post is now obsolete. Please go to the new one here:


If you developed a 64-bit application, tool, or agent for Windows Server in C/C++, you can use NanoServerApiScan.exe to check if your app will also run on Nano Server. Remember that Nano Server is 64-bit only and won’t run 32-bit binaries.

NanoServerApiScan.exe scans a directory containing your binaries and reports an error if it finds an API that is not available in Nano Server. It even provides replacement API suggestions in many cases. NanoServerApiScan.exe requires .NET Framework version 4.0 or higher.


NanoServerApiScan.exe /BinaryPath:<directory containing your binaries> /WindowsKitsPath:<Windows SDK directory> /ReverseForwardersPath:<directory containing Reverse Forwarders binaries>

/BinaryPath (Mandatory): The directory containing your binaries. NanoServerApiScan.exe will parse all sub-directories as well.

/WindowsKitsPath (Optional): If you install a newer version of the Windows 10 SDK and would prefer to use the OneCore.lib file that came with this newer SDK, instead of the version bundled with NanoServerApiScan.exe, use this parameter to specify the Windows 10 SDK directory.

/ReverseForwardersPath (Optional): The directory containing the extracted Reverse Forwarders binaries. If you will use your tool with the Nano Server Reverse Forwarders package, you can extract the binaries from this package (by unzipping the cab file) to a local folder and specify the path to this folder as the argument to this parameter.


NanoServerApiScan.exe /BinaryPath:e:\Temp\Test

Sample output from NanoServerApiScan.exe:

=== e:\Temp\Test\LrmApi.dll ===




    GetStartupInfoA (Proc not found)

      Please use API GetStartupInfoW as substitution.

    SetHandleCount (Proc not found)


For a list of supported APIs in Nano Server, please go to:




Comments (4)

  1. Bryan Owen says:

    Does Nano have a compiler prerequisite for runtime dependencies (eg. observation of ‘Proc not found" were under MSVCP110.dll)?

  2. Jiangtian Li says:

    VC runtime is not part of Nano and is not a prerequisite of Nano. However, if your application depends on it, it needs to be installed first. The tool reports the API dependence of your application to run in Nano.

  3. anonymouscommenter says:

    As organizations move toward modern DevOps practices, the role of the operating system needs to evolve

  4. Devid Lewis says:

    This post doesn’t work anymore. Don’t waste your time on this. Have a look at the new link provided by MSFT. It’s an amazing. it worked for me as i was trying to apply on it worked and i haven’t faced any problem

Skip to main content