Windows Application Behavior Analysis

…is a very critical part of setting up application for the enterprises according to their needs and infrastructure.  This is an highly untaught process and requires extreme attention and diligence.  Any incorrect analysis can cause you designing an incorrect architecture for your application infrastructure.

So, I start explaining this skill with a question as

What is Windows Application Behavior Analysis?

Is a process of skillfully investigating into an application behavior to understand it’s launch and break points so to control the application behavior as per your needs. This activity saves big money for the IT essentially for the levels of enterprises.

What Windows Application Behavior Analysis consists of?

It consists of observing, monitoring, tracking of application activities so that you know where from its starting, where it’s saving it’s settings depending on these data points you can modify them such that application launches with the settings you need.

Are there any Best Practices for Windows Application Behavior Analysis?

Below are some best practices I use and recommend:

  1. Go through the application/patch install/release notes
  2. Refer to the application install, admin and user guides to get better idea of how is it supposed to work
  3. Always install the applications with verbose logging enabled
  4. Have a video capture of the application installation in GUI mode, take close look at what actions application performing during the application install
  5. Use procexp and procmon to investigate the application behavior
  6. Look for system level (HKLM) and user level (HKCU) software setting for the application
  7. Look for program level (Under installdir and %programdata%) and user level (%userprofiles%, %appdata%) setting files of type .INI, .Conf, .Dat, .XML, etc,.

What includes in Advanced Windows Application Behavior Analysis?

  1. Analyzing application for all users (local users, local admins, domain users and domain admins, service profiles)
  2. Identifying and resolving conflict operations for the application on the system
  3. Getting application setup for a complex infrastructure which includes various desktop platforms, server platforms, virtualization platforms
  4. Ensuring consistent setting for all the platforms for all user types
  5. Integrating applications with server technologies like SQL DBs,  IIS, Cluster & load balancing, Citrix, VMware, Windows Core, etc,.
  6. Automating various regular operational tasks via scripting and policies
  7. Ensuring security and reliability of the application infrastructure
  8. Configuring for disaster recovery and high availability

Leave a Reply

Your email address will not be published. Required fields are marked *