The Instrumentation Tab allows you to add, edit, and review the custom attributes that configure Dotfuscator's code-injection features (called Instrumentation). Those features include:
This tab displays a tree view of the input assemblies, including attributes that decorate each assembly, module, type, or member. This includes PreEmptive-defined attributes (which can be edited) and other .NET attributes.
|For new projects, the default setting for the Instrumentation transform is Enabled. However, telemetry is disabled by default. See Configuring and Running Dotfuscator with Application Analytics|
In addition to the attributes already in the input assemblies, custom attributes can also be added and edited through the user interface. These are known as extended attributes. Dotfuscator treats extended attributes the same as it treats custom attributes embedded in the source code. To add an extended attribute:
Extended attributes appear in blue text to distinguish them from in-code attributes, which appear in black text. You may remove an extended attribute by right-clicking on the attribute and selecting "Remove Attribute".
PreEmptive attributes, whether in-code or added as extended attributes, may be edited through the Attribute Editior section of the user interface:
Changes are persisted to the Dotfuscator configuration file and take precedence over the attributes in source code.
In the Attribute Editor for the SetupAttribute, the StaticEndpoint field is where you explicitly specify the endpoint for PreEmptive Analytics messages. If no custom endpoint is selected, PreEmptive's commercial endpoint will be used. Click the "..." (ellipses) in the StaticEndpoint field to invoke the Select Endpoint window:
Here you are able to specify what endpoint you wish to send to. Once you've made your selection and clicked OK, the location displays in the StaticEndpoint field:
Certain properties, such as ExtendedKeySourceOwner, specify a type within the project. Click the "..." (ellipses) in the field to select the type.
In any field where a GUID would be appropriate, click the "..." (ellipses) in the field to generate a new GUID for the field.
For attributes with the ActivationKeyFile or PrivateKeyFile property, click the "..." (ellipses) in the field to locate the file.
The Instrumentation tab is enabled with a Find feature that enables you to locate any item in the instrumentation tree view. For example, you can find a SetupAttribute by typing the text "*Setup*" (without quotes) and clicking the Find button.