End User Self Service Application Healing
Wow. Scott Hardie really comes through for us in this article about how to keep your client machines in tip-top shape by teaching them to "self heal". Scott walks us from the basic terminology to the more advanced implementation steps and strategies.
- Introduction
- Definition of Terms
- Prepping the Enterprise
- Self Service Icon for the End User
- Conclusion
Introduction
This white paper will outline the technical aspects of using one of the many features of Altiris Application Management Solution to leverage MSI (Microsoft Windows Installer) technology to do Software Healing on the end user's machines in a Self Service fashion by the way of a simple Icon. This allows end user's the ability to fix an application corruption issue first by double clicking on an icon prior to calling into an organization's helpdesk for support thus reducing the potential of downtime due to an application problem and reducing the amount of time a helpdesk worker has to spend on these types of issues. Overall the goal is to provide an organization a higher ROI leveraging Altiris Application Management Solution that was never previously conceived of.
Definition of Terms
Windows Installer?
Windows Installer is a system service for installing and managing applications. It provides a standard method for developing, customizing, installing, and updating applications.
Windows Installer provides the following basic functions:
- Transactional operations. All installation operations are transactional. For each operation that Windows Installer performs, it generates an equivalent undo operation that would undo the change made to the system. If a failure occurs during the middle of an installation, Windows Installer can roll back the machine to its original state.
- Self-healing. Windows Installer supports "self-healing" abilities for applications. Applications can detect common installation problems at launch, like missing files or registry keys, and automatically repair themselves.
- Installation on demand. Windows Installer supports on-demand installations of application features. For example, the spelling checker in Microsoft Office Word may not be installed by default, but a user can trigger an on-demand installation of this feature.
- Installation in locked-down environments. In fully locked-down environments, users don't generally have permission or the ability to install applications. In most cases, they don't have write-access to the Program Files folder of their computers or to the HKEY_LOCAL_MACHINE registry location. If an administrator approves an installation package by means of Group Policy, for instance, Windows Installer can perform an installation on the user's behalf.
- State management. Windows Installer provides a set of standard Win32® application programming interfaces (APIs) and automation interfaces for applications and administrators to use for querying the installation state on the machine. The APIs allow querying of the current state, verification of the existing state, repair of a corrupted state, and transition from one state to another.
Prepping the Enterprise
In order for Software Healing to work properly lets quickly talk about best practices. I would suggest in having all MSI's stored on either the Altiris Deployment Server, Notification Server or a central location such as the Wise Repository in which you will have the MSI's managed. I have seen some organizations with a server in which its sole purpose is to store the MSI's in which they call a Software Delivery Server and in some cases has a Storage Array connected to it with sufficient disk space. The reason I recommend this will become very clear a little later on when I show you how to fix broken paths of existing MSI's installed in the Enterprise on the end user's machines. You are not going to want to deal with MSI's scattered all over the Enterprise. It is a best practice to centralize them and in the case of highly distributed environments where the need or the desire is to reduce WAN bandwidth leverage Altiris Package Servers.
1) First we need to discover which MSI's within the Enterprise that are installed on user's machines and have a broken path to the source and fix the path to our centralized MSI storage location or package server(s). To discover the paths we will need to enable the "Full Windows Installer scan" policy under Application Mgmt Solution to push out the Windows Installer Agent to the Enterprise. Either by leveraging an existing collection of machines or create your own static collection for the machines in which you would like to have self service healing enabled on. I would suggest doing this on a schedule that runs after hours if possible.
2) Once the agent has been installed and run over night you will want to see which machines within the Enterprise have broken paths and fix them. This can be time consuming depending upon how many MSI's were installed from locations other then your centralized source. Begin by going to the Reports, Software Management, Application Management, Windows Installer Agent and run the web report "Products Reporting Inaccessible Source Paths". You can drill down on each product to see the machine(s) where source paths need to be updated. Record these for tracking purposes. I simply track these via Excel by exporting the report out so I can manipulate and prioritize the results.
3) Now that you have a list of source paths which to fix. Let's begin! Go to "Tasks" and click on the "Software Management", "Application Management". There is quite a bit of functionality here were focused on leveraging the wizard.
4) Click on "Windows Installer Source Path Wizard" You will need to have your browser setup to be able to download and run ActiveX Controls or at least Prompt. If this has been already enabled jump to step 6. Otherwise go to step 5.
Figure 3
5) You will want to enable the ability to download and execute ActiveX Controls by going to Internet Explorer's "Tools", "Internet Options", Click the "Security" tab and click "Custom Level" and enable those policies. Sometimes you need to close this browser and open a new one before these changes take effect.
6) Now go ahead and click "Run Windows Installer Source Path Wizard" and click next.
7) This is where we will "Browse" and choose the Application in which we want to repair and the new path to the centralized source in which we are going to store the MSI's going forward. Additionally you may want to click the check box to force this as the only available path within the enterprise. However, if you have multiple MSI servers in which most cases which is in remote locations and or have slow connected links you will not want to enable this and have machines in these remote locations connecting to a local package server rather then transverse the slow network links. The leveraging of package servers here is very nice feature that was added in Application Management Solution 6.x from previous versions. The following screens are for reference.
8) Now that you have chosen the software package and provided the new source path you can now either choose all computers containing the software package or choose another collection or individual computers by name. Also when this task should be run can defined for a schedule, as soon as possible or allowing you to manually enable it later.
9) Now let's go ahead and make it a policy by clicking next and finish.
10) Now that the policy has been created you can have it take you right to the policy to take a look at it if you would like. Since I mentioned before about tracking packages via Excel I also have a column in that spreadsheet in which I also provide the GUID, and source path for future use and tracking.
11) By going to the policy you can configure it just like any other policy. By default all policies are under "Software Management" "Application Management" "Application Management Tasks".
12) Now repeat this process for every application with broken source paths within the enterprise until all packages are pointed to your central application source or package server(s).
Self Service Icon for the End User
13) Let's move on to the Self Healing Icon. Grab yourself an icon (.ico) you want on your desktop throughout the enterprise. However, if you like the one displayed below. Please feel free. Once you have the icon you want copy this icon to your Notification Server at the following default path:
\\NS Server Name\NSCap\Bin\Win32\X86\Application Mgmt Solution\Application Mgmt Package
14) There are several options for getting the Icon out to the desktop. RIP, MSI, Login Script, etc.. However you decide to roll out the icon is fine. Below are the settings you need within the shortcut:
Target: "\\NS Server Name\NSCap\Bin\Win32\X86\Application Mgmt Solution\Application Mgmt Package\AeXMSIAgent.exe" /Repair All /Output XML /Sleep 0 /Throttle 10000"
Start In: "\\NS Server Name\NSCap\Bin\Win32\X86\Application Mgmt Solution\Application Mgmt Package"
15) That's it for setting up the infrastructure. What is the icon going to exactly do? Let me explain.
- Once the icon is double clicked you will notice on the shortcut that its launching the AeXMSIAgent.exe with the flag /repair all /Output XML for troubleshooting, / Sleep 0 for no sleep, and Throttle 10000 which is telling the agent to repair as quickly as possible using as much CPU as possible to get the job done. The agent is going to check every MSI based package on the system and compare it to the source to see if files / registry information is either missing and or corrupted and fix and replace only that. Thus conserving bandwidth and time in recovery.
- Depending upon how the MSI is packaged you may or may not see a status of the repair process. It would be nice to display a status bar but that's some additional development. However, it is up to you repackage the MSI's properly to show this status such as Microsoft Office shows. I stress the importance of using WISE as the packaging tool of choice and how it will nicely integrate within other Altiris products.
- Depending upon how many MSI's are damaged you will notice within task manager the AeXMSIAgent.exe process and one msiexec.exe process for each broken app found as it is repairing it.
- When all problems are fixed the AeXMSIAgent.exe and msiexec.exe process will automatically exit and terminate bringing the system back to its normal overhead. See the below picture as reference of a repair in progress. Time for repair could be between a few seconds to a few minutes depending upon how many apps are damaged, to what degree the damage is and the connection speed to the server. However, typical is only a minute or two. However, if all applications within C:\Program Files were all MSI based apps and the source path has been properly created you could literally drag everything within this folder to the trash, empty it, double click on the Self Healing Icon and it will fix every application back to its original working state!
Conclusion
By using Application Management Solution and this process Altiris can increase the ROI from the reduction of support costs by providing the users self service. They will have the ability to fix applications without having to contact the helpdesk. Thus reducing lost productivity and lowering the call volume for helpdesk and support groups. This shows one of the many ways Altiris can be customized to do things above and beyond out of the box functionality. This is just one of the many things that can be done with Application Management Solution. I also believe Application Management Solution is one of the most under utilized but extremely powerful solutions from Altiris. If you have questions please feel free to contact me at shardie@xcendgroup.com.















Bug Fix for SQL 2005
If you are running SQL 2005 use this bug fix for this known issue.
Article ID: 21983
KNOWN ISSUE: Application Management 6.1 reports dashboard not compatible with SQL 2005
--------------------------------------------
Problem
Application Management 6.1 dashboard is not compatible with SQL 2005.
From the Reports page, navigate to Dashboards > Application Managment.
A Server Error message will appear
--------------------------------------------
Environment
Windows 2003*
SQL 2005 Standard*
NS 6.0.6074 (SP3)
Application Management 6.1
--------------------------------------------
Resolution
Workaround: Execute the attached hotfix to resolve the issue.
Note: The dashboard uses a pull-down menu at the top of the report frame to set the time parameter. In the previous version, this was a text field set manually in each of the reports.
Hotfix can be downloaded at:
http://kb.altiris.com/article.asp?article=21983&p=3
James "Scott" Hardie
Vice President of Technology Services
shardie@xcendgroup.com
http://www.xcendgroup.com
James "Scott" Hardie
Vice President of Technology Services
shardie@xcendgroup.com
http://www.xcendgroup.com
Would you like to reply?
Login or Register to post your comment.