Repository navigation
Building
Nodir Temirkhodjaev edited this page Oct 10, 2026
·
22 revisions
- latest Visual Studio Community Edition or just Build Tools for Visual Studio
- latest Visual Studio SDK
- Windows Driver Kit (WDK), same version as Visual Studio SDK
- latest Qt 6 and QtCreator
Qt 6 can be built from sources by <PATH-TO>\fort\deploy\qt-build.bat script.
- clone the
https://github.com/google/googletestsomewhere - add Environment variable "GOOGLETEST_DIR" (upper case!) with value of cloned path (i.e. it should contain
googlemock&googletestfolders)
- download Inno Setup 7 and install it somewhere
- Run the
<PATH-TO>\fort\scripts\i18n\release_ts.batto createsrc\ui\i18n\*.qmtranslation files - Open the
<PATH-TO>\fort\src\FortFirewall.proin QtCreator - Select "MSVC 64-bit Kit" and its "Release" configuration
- Turn on the "Shadow build"
- Change "Build directory" to
<PATH-TO>\fort\build-win10(the folder will be auto-created on building later) - Build it
- The
<PATH-TO>\fort\build-win10\ui_bin\FortFirewall.exewill be created!
- Open Visual Studio 2022 Tools Command Prompt for targeting x64 ("x64 Native Tools Command Prompt for VS 2022" link)
- Change working directory to driver sources by
cd <PATH-TO>\fort\src\driver - Run
msvcbuild-win10-64.bat - The
<PATH-TO>\fort\build-driver-win10\x64\fortfw.syswill be created!
Alternatively you can build the driver with EWDK.
EWDK installation:
- download latest EWDK (https://learn.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2022)
- mount the downloaded .iso file in the Windows Explorer
EWDK Command Prompt for targeting x64 (instead of Visual Studio 2022 Tools Command Prompt):
- run
<EWDK_MOUNTED_DRIVE>:\LaunchBuildEnv.cmd amd64
The scripts in <PATH-TO>\fort\scripts\make build all the targets from a plain Command Prompt, they set up the compilers' environments themselves:
- Edit
scripts\make\config.batto correct the paths: the EWDKs (EWDK_OLDfor Windows 7: the EWDK with WDK 10.0.20348,EWDK_NEWfor Windows 10: the latest EWDK), the folder of Visual Studio'svcvars*.bat, the static Qt builds,jom.exe, the driver payloads' key, the Inno Setup's folder (INNO_HOME), GnuPG'sgpg.exe, the installers' signing key and the file of its passphrase - Run
ui\make-all.batto build thebuild-win7,build-win10andbuild-win10-arm64(or one of them byui\build-win10.batetc.; the arguments are passed to make, e.g.clean) - Run
driver\make-all.batto build the drivers inbuild-driver-win7(Win32,x64) andbuild-driver-win10(x64,ARM64) - Run
driver-loader\make-all.batto wrap the built drivers into the loaders ofbuild-driver-loader-*bybuild-win10\driver_payload\DriverPayload.exe - Run
deploy\make-all.batto make the installers indeploy\out(or one of them bydeploy\build-win10.batetc.) bydeploy\setup-deployment.batanddeploy\create-installer.bat, and their GnuPG signatures (*.exe.sig)
Each make-all.bat stops at the first error.
- Driver is already test signed by default
Run as Administrator from command line the following commands to turn on/off Windows' Test Signing Mode and reboot computer.
Turn On the Test Signing Mode:
BcdEdit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
BcdEdit.exe -set NOINTEGRITYCHECKS ON
BcdEdit.exe -set TESTSIGNING ON
Turn Off the Test Signing Mode:
BcdEdit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
BcdEdit.exe -set NOINTEGRITYCHECKS OFF
BcdEdit.exe -set TESTSIGNING OFF
- Set the
INNO_HOMEenvironment variable to the Inno Setup's folder, if it's notC:\Program Files\Inno Setup 7 - Run
<PATH-TO>\fort\deploy\setup-deployment-win10.batto make the<PATH-TO>\fort\deploy\build - Run
<PATH-TO>\fort\deploy\create-installer.bat - The
<PATH-TO>\fort\deploy\out\FortFirewall-*.exewill be created!
Add to registry: "HKLM/SOFTWARE/Fort Firewall”: “isDriverNonAdmin” (DWORD) = 1