Speed up the initial load time of ArelliaDisplayXamlAction

Background

ArelliaDisplayXamlAction.exe is the .NET application used by Advanced Messages to display Extensible Application Markup Language, or XAML.

.NET Applications are written in Intermediate Language (IL) that is compiled into native code at run time. This process is called JIT compilation and is performed during startup every time a .NET application is loaded. In some environments this JIT compilation can take upwards of 10 seconds - every time an Advanced Message dialog is displayed.

Workaround

.NET applications can be compiled into native code that is persisted to disk. This essentially removes the need to JIT compile an application and greatly decreases application start up time.

From MSDN article Native Image Generator (Ngen.exe)

The Native Image Generator (Ngen.exe) is a tool that improves the performance of managed applications. Ngen.exe creates native images, which are files containing compiled processor-specific machine code, and installs them into the native image cache on the local computer. The runtime can use native images from the cache instead of using the just-in-time (JIT) compiler to compile the original assembly.

Command line

To compile the Advanced Message dialog into native code run the relevant command line for your 32 or 64-bit machine:

32-bit machine
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngen.exe install "C:\Program Files\Arellia\Agents\ApplicationControl\ArelliaDisplayXamlAction.exe" /AppBase:"C:\Program Files\Arellia\Agents\Agent"
64-bit machine
%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install "C:\Program Files\Arellia\Agents\ApplicationControl\ArelliaDisplayXamlAction.exe" /AppBase:"C:\Program Files\Arellia\Agents\Agent"

This could potentially be added to a client task and distributed throughout your environment.