The .NET Agent provides a command-line unattended installation when you have multiple servers that require the same AppDynamics configuration. Using unattended installation, you only configure once, and then use the command-line scripts to automate installation and instrumentation on multiple servers

To install and configure the agent manually, see Install the .NET Agent for Windows.

Create a Setup Configuration File

You can use the .NET Agent MSI installer package to specify the path to a setup configuration file to perform an unattended installation. The setup configuration file contains all the properties you need to enable instrumentation for your .NET applications.

You must run the .NET Agent MSI installer package on one machine before you can use the AppDynamics Agent Configuration utility to create a setup configuration file. See Install the .NET Agent for Windows.

Setup configuration files created in previous versions of the AppDynamics Agent Configuration utility work with the 4.0 installer.

  1. Launch the AppDynamics Agent Configuration utility from the command line. Use the -s parameter to specify the setup configuration file destination.

    %ProgramFiles%\AppDynamics\AppDynamics .NET Agent\AppDynamics.Agent.Winston.exe -s <path to setup configuration file>

    For example:

    %ProgramFiles%\AppDynamics\AppDynamics .NET Agent\AppDynamics.Agent.Winston.exe -s "c:\temp\configurationSavedSetupConfiguration.xml"
  2. Complete the steps of the configuration wizard step.

    The configuration utility saves the setup configuration file to the path you specified.

    The configuration utility only configures instrumentation for IIS applications.

  3. (Optional) To perform the unattended installation for Windows services or for standalone applications, you must edit the setup configuration file manually. See Configure the .NET Agent for Windows Services and Standalone Applications.

Sample Setup Configuration File

This example shows a setup configuration file that instruments: two IIS Applications, MainBC and SampleHTTPService; a Windows service, MyWindowsService.exe; and a standalone application, MyStandaloneApp.exe.

The configuration file sets the log directory to C:\ProgramData\AppDynamics\DotNetAgent\Logs, and grants write permission to four accounts.

<winston>
  <logFileDirectory directory="C:\ProgramData\AppDynamics\DotNetAgent\Logs" />
  <logFileFolderAccessPermissions defaultAccountsEnabled="false">
    <account name="NT AUTHORITY\LOCAL SERVICE" displayName="LOCAL SERVICE" />
    <account name="NT AUTHORITY\SYSTEM" displayName="SYSTEM" />
    <account name="NT AUTHORITY\NETWORK SERVICE" displayName="NETWORK SERVICE" />
    <account name="IIS_IUSRS" displayName="ApplicationPool Identity" />
  </logFileFolderAccessPermissions>
  <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <controller host="mycontroller.mycompany.com" port="8090" ssl="false">
      <application name="My Business Application" />
      <account name="customer1" password="changeme" />
    </controller>
    <machine-agent />
    <app-agents>
      <IIS>
        <applications>
          <application path="/" site="MainBC">
            <tier name="Main Site" />
          </application>
          <application path="/" site="SampleHTTPService">
            <tier name="HTTP Services" />
          </application>
        </applications>
      </IIS>
      <standalone-applications>
         <standalone-application executable="MyStandaloneApp.exe">
            <tier name="Standalone App" />
         </standalone-application>
         <standalone-application executable="MyWindowsService.exe">
            <tier name="Windows Service" />
         </standalone-application>
      </standalone-applications>
    </app-agents>
  </appdynamics-agent>
</winston>

Unattended Installation

Before you perform an unattended installation, verify these requirements: 

  • Microsoft Distributed Transaction Coordinator (MSDTC): MSDTC must run under the NT Authority\NetworkServices account. See Verify MSDTC on the Troubleshoot .NET Agent Issues page.
  • Windows Management Instrumentation (WMI)

To perform an unattended installation:

  1. Launch an elevated command prompt with full administrator privileges. See Start a Command Prompt as an Administrator. Logging on to Windows as a member of the Administrators group does not grant sufficient permissions to run the installer.
  2. Run the agent MSI installer package from the elevated command prompt. Use the AD_SetupFile parameter to pass the absolute file path to the setup configuration file.

    msiexec /i dotNetAgentSetup64.msi /q /norestart /lv %TEMP%\AgentInstaller.log AD_SetupFile=<absolute path to setup config.xml>

    You can set these optional parameters: 

    INSTALLDIR: Specify the directory to install the .NET Agent executables and supporting files.

    DOTNETAGENTFOLDER: Specify the parent directory for local data including agent configuration files and log files. 

    For example:

    msiexec /i dotNetAgentSetup64.msi /q /norestart /lv %TEMP%\AgentInstaller.log AD_SetupFile=C:\temp\SetupConfig.xml INSTALLDIR=D:\AppDynamics DOTNETAGENTFOLDER=D:\AppDynamicsData

    If you specify the DOTNETAGENTFOLDER on the command line and a logFileDirectory in the setup configuration file, the agent creates config and data folders under DOTNETAGENTFOLDER but writes the log files to the logFileDirectory specified in the setup configuration file.

  3. Start the AppDynamics.Agent.Coordinator process.

    net start AppDynamics.Agent.Coordinator
  4. Restart applications you have instrumented: IIS services, Windows services, and standalone applications.

    For example, to restart IIS:

    iisreset

Setup Configuration File Properties

Winston Element

The Winston element is the root element of the configuration file.

Required element: <winston>

Log File Directory Element

The Log File Directory element is a child element of the Winston element. Use the directory attribute to specify the log directory. If you omit the logFileDirectory element, AppDynamics uses the default directory:

Windows Server 2008 and later: %ProgramData%\AppDynamics\DotNetAgent\Logs

Optional element: <logFileDirectory directory="C:\ProgramData\AppDynamics\DotNetAgent\Logs" />

Log File Folder Access Permissions Element

The Log File Folder Access Permissions is a child element of the Winston element. Unless you set the defaultAccountsEnabled attribute to false, AppDynamics grants write access to the Logs folder for the default accounts:

  • LOCAL SERVICE
  • SYSTEM
  • NETWORK SERVICE
  • ApplicationPool Identity

Optional element: <logFileFolderAccessPermissions defaultAccountsEnabled="false">

Account Element

The Account element is a child element of the Log File Folder Access Permissions element. Create an Account element for the Windows account you use to run your application.

Set the name attribute to the name of the account you use to run your application, that is the account for the application pool for IIS or the Windows service account.

The display name attribute is a user-friendly name you choose for the account. The display name shows up in log entries about assigning permissions for the account.

Optional element: <account name="MyAppPoolIdentity" displayName="Custom ApplicationPool Identity" />

For example, if you run a Windows service under a domain account:

<account name="MYDOMAIN\service_acct" displayName="Domain Service Account" />

AppDynamics Agent Element

The AppDynamics Agent element is a child of the Winston element. It follows the same format as the config.xml file to define the agent configuration for all your .NET applications. See .NET Agent Configuration Properties.

Required element: <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">