WinFsp Building
This document provides instructions on building WinFsp and describes the WinFsp project structure.
Building
In order to build WinFsp you will need the following:
-
Visual Studio 2019
-
Windows Driver Kit (WDK)
Use the command tools\build.bat Release
to produce a full build (including the installer). However the resulting product will not be properly signed and Windows will refuse to load the WinFsp driver, unless you enable testsigning with bcdedit -set testsigning on
.
Producing a fully functional build requires an EV certificate and a Partner Center for Windows Hardware account. Assuming you have those, the steps to produce a full build are as follows:
-
Produce a build signed with your EV certificate using
tools\build.bat Release
. -
Upload the signed
driver.cab
file to Microsoft for "attestation signing". -
Download the now Microsoft-signed
driver.cab
file and extract it into a folder (e.g.signed-drivers
). -
Re-run the build using
tools\build.bat Release PATH\TO\signed-drivers
Versioning
WinFsp versioning (and branding) is controlled by the file build\VStudio\build.version.props
. See the WinFsp Rebranding document for details.
Project Structure
The WinFsp project is structured as follows:
-
📁 art: Project logo and other art.
-
📁 build: Project build files.
-
📁 doc: Project documentation.
-
📁 ext: External dependencies.
-
📁 inc: Public headers.
-
📁 opt: Additional source code and files.
-
📁 src: Project source code.
-
📁 tools: Tools for building and testing WinFsp.
-
📁 tst: Source code for example file systems and test suites.
-
📁 memfs: The MEMFS reference file system.
-
📁 winfsp-tests: The primary WinFsp test suite.
-