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.
Double Agent is currently written entirely in C++ and exclusively for the Windows operating system.
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.
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:
DoubleAgent_x86.msi
(with DoubleAgentSymbols_x86.cab
and DoubleAgentSamples_x86.cab
)
DoubleAgent_x64x86.msi
(with DoubleAgentSymbols_x64x86.cab
and DoubleAgentSamples_x64x86.cab
)
Program Files
,
while 32-bit runtimes (and debugging symbols) are installed in Program Files (x86)
.
Program Files
, and those that are only compatible with 32-bit development (such as VB6) are installed
in Program Files (x86)
.DoubleAgent_x64.msi
(with DoubleAgentSymbols_x64.cab
and DoubleAgentSamples_x64.cab
)