Application Compatibility: Standard User Analyzer
The Standard User Analyzer (previously known as the LUA Analyzer) is a tool to help independent software vendors (ISVs), IT professionals, and end users diagnose possible issues in an application when it is running as a standard user. The Standard User Analyzer is based upon the LUA Predictor technology, which is part of the Microsoft Application Verifier.
Installation Prerequisites and Compatibility
Operating systems: Windows Vista® and Windows Server® 2008, Windows XP®, and Windows Server® 2003.
Currently, only a 32-bit version of the Standard User Analyzer is available.
Installation prerequisites: The Application Verifier must be installed before the Standard User Analyzer installation is launched. The Application Verifier is a free download in the Microsoft Download Center.
To install the Standard User Analyzer, run the SUAnalyzer.msi file. All Standard User Analyzer files are installed to the Program Files\Standard User Analyzer folder.
Prior to using Standard User Analyzer, you must install the latest Application Verifier.
Use the Standard User Analyzer to diagnose standard user compatibility issues within an application.
The Standard User Analyzer should be run on a Windows Vista or Windows Server 2008 computer to properly identify an application’s standard user compatibility issues.
The following procedure is written to be performed by a standard user on a Windows Vista or Windows Server 2008 computer:
Click Start, select All Programs, and double-click Standard User Analyzer.
On the App Info tab:
In the Target Application field, enter the directory location of the target application’s executable file or use the Browse function.
In the Parameters field, enter parameters for the application, if applicable.
Select the Launch Elevated checkbox.
If a User Account Control credential prompt appears for SUAnalyzerSrv.exe, provide administrator credentials and click Submit.
In the User Account Control credential prompt for target application, provide administrator credentials and click Submit.
The SUAnalyzerSrv.exe process might request elevation while performing this procedure. This process is a backend process that is responsible for managing tasks that require an administrator access token, such as changing settings in the Application Verifier.
Testing an Application with the Standard User Analyzer
During the test, the Standard User Analyzer will launch the application, monitor its actions, and wait for the application to be closed. The Standard User Analyzer will then generate and parse a log for the application, which might take some time to complete. Once the log has been generated and parsed, click on individual tabs to view specific issues found by Standard User Analyzer.
Lists file system access issues.
For example, an application attempting to write to a file that normally only administrators can access.
Lists system registry access issues.
For example, an application attempting to write to a registry key under HKLM, which is a location that normally only administrators can access.
Lists WriteProfile APIs issues.
WriteProfile APIs were originally used for 16-bit Windows but are still popular some modern applications.
One example is the Calculator in Windows XP. If the view is changed from Standard to Scientific, calc.exe calls WriteProfile API to write into windows\win.ini, which is only writable by administrator users.
Lists access token checking issues.
If an application explicitly checks for the Builtin\Administrators security identifier (SID) in a user’s access token, the application most likely will not work for a standard user.
Lists privilege issues.
For example, if an application explicitly enables SeDebugPrivilege, it will not work for a standard user.
Lists issues that are caused when an application creates system objects (for example, events and memory mappings) in restricted namespace. Applications that have this error will not work for a standard user.
Lists issues related to accessing objects other than files and registry keys.
When you click on an issue in any individual tab, the lower left panel of the Standard User Analyzer will display all related records from the log file; you can then click on any record, and the lower right panel will display the detailed information for that record, including a formatted message, parameters, and the stack trace. ISVs can use stack trace data to track down the problem in the application’s source code.
Standard User Analyzer Main Menu
Open Log File: load a saved log file.
Export Log File: save current log file.
View Raw Log File: open the current log file in raw xml format. (Warning: if the file is big, it will take a long time to open.)
Exit: exit the program.
Choose what kinds of messages you want to display. Usually only view error messages is necessary.
Filter Noise: toggle between display/hide entries that are noisy.
Load Noise Filter File: load a noise filter file.
Export Noise Filter File: save a noise filter file.
Only Display Records with Application Name in StackTrace: this option will reduce the noise; however, since the Standard User Analyzer only captures the first 32 stack frames, enabling this option might filter out real issues if a call stack is deeper than 32 frames.
Logging: logging options. It is recommended that you leave the Log Information checkbox unchecked in order to keep the log file from getting too large.