Skip to content
Nodir Temirkhodjaev edited this page Apr 20, 2024 · 14 revisions

Requirements

Visual Studio

  • 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

Qt (for UI)

  • latest Qt 6 and QtCreator

Qt 6 can be built from sources by <PATH-TO>\fort\deploy\qt-build.bat script.

GoogleTest (for unit tests)

  • clone the https://github.com/google/googletest somewhere
  • add Environment variable "GOOGLETEST_DIR" (upper case!) with value of cloned path (i.e. it should contain googlemock & googletest folders)

Inno Setup (for Installer)

Building

UI

  • Run the <PATH-TO>\fort\src\scripts\i18n\release_ts.bat to create src\ui\i18n\*.qm translation files
  • Open the <PATH-TO>\fort\src\FortFirewall.pro in 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.exe will be created!

Driver

  • 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.sys will be created!

Deploy

Certificates

  • 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

Installer

  • Edit <PATH-TO>\fort\deploy\create-installer.bat to correct the INNO_PATH
  • Run <PATH-TO>\fort\deploy\setup-deployment-win10.bat to make the <PATH-TO>\fort\deploy\build
  • Run <PATH-TO>\fort\deploy\create-installer.bat
  • The <PATH-TO>\fort\deploy\out\FortFirewall-*.exe will be created!