This is a technical overview of the Double Agent project.  It's intended for developers who want to understand how Double Agent is built and distributed.

Technology

Double Agent is currently written entirely in C++ and exclusively for the Windows operating system.

Dependencies

Double Agent has no runtime dependencies other than Windows itself.  Although it was designed for Windows 7, it's been kept compatible with Windows XP and Windows Vista.  This allows application developers to develop and distribute Double Agent applications on those Windows platforms as well as Windows 7.

In development, Double Agent has as few dependencies as possible.  Here's a summary of the build environment for Double Agent 1.x.

Packaging

The Double Agent installation is packaged as a set of Windows Installer Package (.msi) files and associated Cabinet (.cab) files.  The installer packages contain the basic runtime components, and the cabinets contain optional development components.  Thus, end-users require only the installer packages while developers can download and install the development components as required.

When the installation is run, the installer package will check for the optional cabinet files (in the same directory as the installer package) and will enable or disable the optional components accordingly.

There are three separate installations, depending on the target environment: