Build from source
The agent is plain C++ against the Win32 API, built with nmake. No libraries beyond the Windows SDK.
What you need
- Visual Studio 2022 or later (Community is fine) with the Desktop development with C++ workload
- Inno Setup 6 for the installer, in its default folder
C:\Program Files (x86)\Inno Setup 6
Build
Open an x64 Native Tools Command Prompt for VS (or run vcvars64.bat) in the source folder:
nmake rem programs and the event message DLL
nmake installer rem output\windows_reporting_agent_setup_3.2.exe
nmake clean
Source files
| File | Contents |
|---|---|
windows_reporting_agent_svc.cpp | The service: main loop, report builder |
common.cpp, common.h | Settings, inventory collection, CIFS and SCP delivery, HTTPS upload |
agent_auth.cpp, agent_auth.h | Machine key, certificate, signing, registration, multipart POST |
send_test_report.cpp | Sends one report now |
windows_reporting_agent.mc | Event log message DLL |
windows_reporting_agent_installer.iss | Inno Setup script |
windows_reporting_agent.ini | Default settings, with comments |
php/ | register.php, upload.php, admin.php, status.php, report.php, wra_lib.php, wra_page.php, install_server.sh, install_demo.sh, server.ini.example |
bash/ | Original fleet status page script |
tools/ | gen_docs.py for these pages, gen_sample_fleet.py for sample reports |
Development install
build.txt lists the individual compiler commands and the registry keys and commands for installing the service by hand, without the installer. send_test_report.exe reads the INI file next to it, so you can test against a development server from the build folder.