Double Agent is somewhat different from other Open Source projects in that it's an engine rather than an application. By itself, it doesn't do much. It's only purpose is to provide services to other applications.
Therefore, this page addresses two different groups of developers: those who develop applications that use Double Agent, and those who develop Double Agent itself.
DaControl.tlb
and
DaControlOdl.h
and implemented by DaControl.dll
DaServer.tlb
and DaServerOdl.h
and implemented by DaServer.exe
The various components used to develop applications for Double Agent are included in the Double Agent SDK.
If you plan to develop an application using Microsoft™ Agent or Double Agent, you should include the Application Interfaces when you install the Double Agent SDK.
The Double Agent SDK includes full development documentation in three formats:
Sample source code for various (Microsoft) development tools is included in the Double Agent SDK. If you choose to install any of the samples, you'll find them in a subfolder of the Double Agent installation folder.
Double Agent can write trace messages to a log file. These messages can help you debug your application (and Double Agent) by tracing Double Agent's internal operation.
Debugging symbols (in .PDB format) are available for the Double Agent runtimes. To install the debugging symbols, you need to download one of the symbol cabinets to the same place you downloaded the SDK setup package. Then, when you open the SDK setup package, you'll have the option of installing the debugging symbols.
If you install Microsoft™ Agent on Windows 7 using the KB969168 hotfix, it's installed using Windows Resource Protection. This means that it's treated as part of Windows, and no aspect of its installation can be changed (except by Microsoft). Therefore, if you install both the Microsoft™ Agent hotfix and Double Agent:
There will be limitations in Double Agent's ability to emulate Microsoft™ Agent. This is because
emulation is achieved by redirecting Microsoft™ Agent COM classes to Double Agent COM classes using
the TreatAs registry entry. However, the Microsoft™ Agent registration in the HKEY_LOCAL_MACHINE
registry hive cannot be changed, so the TreatAs
redirection can only be set in the HKEY_CURRENT_USER
registry hive.
When you use the Double Agent control panel to enable Microsoft™ Agent emulation, it can only apply to the current user. In addition, any application that runs with elevated permissions (i.e. "as administrator") will not recognize the emulation (because elevated processes ignore per-user COM configuration).
When installing Double Agent on Windows XP, Double Agent often does not show up immediately in the XP control panel. If the control panel is in Category View, switching to the Classic View and then back to Category View will sometimes resolve this problem. Otherwise, the Double Agent control panel may not show up until after a logoff or restart.
If anybody knows of a way to fix this, please let us know.
Since Double Agent is binary-compatible with Microsoft™ Agent, most of what you need is in the Microsoft™ Agent section of the Windows™ SDK documentation. (when this link stops working, is means that Microsoft™ Agent has been removed from the Windows™ SDK documentation).
Here are some other useful references:
Here are some graphics you can use to represent Double Agent:
The above graphics are courtesy DesktopMates.com.