DesktopAnalyzer Online Manual

Manual Index

1. Installing DesktopAnalyzer    

First, make sure that you meet the minimum requirements for your platform, including the proper Java VM.

The download EXE is the install program for DesktopAnalyzer. After downloading, you can run DesktopAnalyzer using the default script supplied with the release.

Licensed users of DesktopAnalyzer will receive a license key that should be saved in the file key.txt. The key.txt file is used to generate signed DesktopAnalyzer EXE files.

2. Running DesktopAnalyzer    

DesktopAnalyzer is typically used by help desk or support personnel to automate checking specified configuration parameters on end-user computer systems. Although the DesktopAnalyzer release contains a default script (script.txt), it is intended that user-specific scripts be written prior to generating signed DesktopAnalyzer EXE files.

These new, signed EXE files may then be posted to a web site or delivered to the end users to provide a single-click analysis of end-user computer systems.

3. DesktopAnalyzer Script File    

A DesktopAnalyzer script file identifies the series of tests to be conducted on end-user computer systems.  The script file, named script.txt, is very similar in format to any Windows INI file format and can be edited using any text editor (such as notepad.exe).  To create the signed EXE file, the following steps must be completed:
  1. Identify the [sections] or tests to be included in the script
  2. Configure output and input parameters
  3. Create validation expressions (optional)
  4. Test and sign the script file

A default script file, script.txt, is included with the release and may look similar to the following:

[Application]
DisplayName = Windows Sockets
find = winsock.dll

[DA]
DisplayName = DesktopAnalyzer
ScriptName = Testing Script Name
Submit = http://www.visualware.com/cgi-bin/da.cgi
email = test@company.com
OK = OK
WARN = WARN
ERR = ERR
ipconfig = yes
screenshot = yes
showdetail = yes

[DNS]
DisplayName = Testing DNS Lookup
hostname = www.visualware.com

[Drives]

[InternetExplorer]
version.err = <6.0
version.err.msg = Upgrade to Internet Explorer 6.x or later

4. Identifying Script File Sections    

Namely, a script file is a file with [sections], with each section containing key=value lines that make up a particular test to conduct on the end user system. The [sections] or tests that DesktopAnalyzer allows are:

[Application]
[DA]
[DNS]
[Drives]
[File Contents]
[InternetExplorer]
[InternetSecurityZone]
[IsPortListening]
[Memory]
[Processor]
[RegistryKey]
[User]
[WebPage]
[Windows]

Each [section] takes input parameters and produces output parameters as detailed in the tables below. In order for a particular test to be valid, all [section] input parameters must be configured prior to signing the EXE. Input parameters are identified in the Some tests, such as (see the columns titled "Type" in the tables below) must be configured prior to signing the EXE. Some tests, such as [Processor] and [Memory] do not require any input parameters to be configured. Tests may also be configured to produce output messages and validate expressions or constraints.

[Application]
Name Type Description
find input The name of an .exe ("notepad.exe"), or .dll ("winsock.dll"), application, or  document file extension (".doc") to locate
exe output The full path name to the found exe/dll
name output The ProductName in the file version info ("null" if unavailable)
description output The FileDescriptionin the file version info ("null" if unavailable)
version output The ProductVersionin the file version info ("null" if unavailable)
[DA]
Name Type Description
ScriptName input The end-user visible name for this script
email input An email address, which enables the 'email' section of the HTML report
ipconfig input If set to "yes", enables the "ipconfig/all" section of the HTML report
showdetail input If set to "no", disables the "Show detail" checkbox [2.03]
screenshot output If set to "yes" will display a screenshot in the HTML report
version output The version of the DesktopAnalyzer engine
[DNS]
Name Type Description
hostname input The host name to perform an ip address lookup on
number output The number of ip address that the host name resolves to
iplist output The ip address list for the input hostname
[Drives]
Name Type Description
letter output per drive letter information (file system type; size; free space)

[File Contents]

This test allows you to search for a file on your machine and search for a specified character string within the file.

Name Type Description
file input the file path you want to test (e.g. c:\program files\test.txt)
filecontents output Displays the first line of the file contents . To test for a specific character string, use either ' - text_string' (to test for the absence of the string) or ' + text_string' (to test for the presence of the string)
[InternetExplorer]
This test is derived from the Application test and has all the parameters of that test. The find input parameter is automatically set to iexplore.exe. This test also outputs this Internet Explorer specific parameter:

Name Type Description
pack output service pack information
proxytype output Check for authenticated proxies on the client's network
proxysettings output Check proxy settings on the client's network
[InternetSecurityZone]
This test provides a way to query the internet settings for an Internet Security Zone.

Name Type Description
zone input "Computer" | "Intranet" | "Trusted" | "Internet" | "Restricted"
url input Automatically set the zone based upon the provided full URL (used only if zone is not present)
ActiveScripting output "enabled" | "prompt" | "disabled" | "na"
FileDownload output "enabled" | "prompt" | "disabled" | "na"
PersistentCookies output "enabled" | "prompt" | "disabled" | "na"
Popup Blocker output "enabled" | "disabled"
SessionCookies output "enabled" | "prompt" | "disabled" | "na"
[IsPortListening]
This test provides a way to query a remote port on a computer to see if there is a process listening on the port.

Name Type Description
url input The host and port to test as a URL: "protocol://host:port"
ms output Number of milliseconds it took to establish a connection to the port
[Memory]
Name Type Description
utilization output Memory utilization (virtual memory)
total output Total (physical) memory in K
available output Available (physical) memory in K
[Processor]
Name Type Description
architecture output Should always be "Intel"
vendor output Vendor string as reported by the CPU itself (eg: GenuineIntel)
type output Windows value (may be inaccurate)
number output Number of CPU's
level output Processor level as reported by Windows
revision output Processor revision info as reported by Windows
power output The power rating of the CPU, by performing a simple benchmark
mhz output Calculated CPU speed in Mhz
[Registry Key]
Name Type Description
key input The registry key you wish to test (search) for
val output The value of the registry key
[User]
Name Type Description
name output The user name of the user signed onto Windows
region output The world region of the computer
language output The language configured on the computer
timezone output The timezone configured on the computer
administrator output "yes" | "no" | "na"
[WebPage]
Name Type Description
url input A full URL (http or https) to a web resource (html/gif/jpg/etc)
zone output The Internet Security zone of the URL: "Computer" | "Intranet" | "Trusted" | "Internet" | "Restricted" | "Unknown"
bytes output Number of bytes read from the URL
ms output Number of milliseconds it took to read the resource
throughput output Calculated throughput in K
[Windows]
Name Type Description
name output OS name
version output OS "major.minor" version
build output OS build number
pack output OS service pack "major.minor" version (0.0 if none installed)
verpack output Combination of version and pack in a single version number
nt output Is NT (NT/2000/XP): "yes" | "no"
windir output The Windows directory path name
winsysdir output The Windows system directory path name

 

5. Configuring Output and Input Parameters    

Every output parameter from an individual script test can have a constraint expression written for it, and have a custom error message defined. Expressions and messages are defined as new variables within a script section as follows:
param.warn = expression
param.err = expression
param.warn.msg = message
param.err.msg = message

If both a ".warn" and a ".err" expression are defined for a particular param, the 'most severe' error status (that evaluates to 'true') is used as the status for a particular param.

All tests allow for the following input parameters to be set:

Name Type Description
DisplayName input The end-user visible name for a test/section. If not specified, the section name is used.
msg.ok input The message to display if the entire test status is 'OK'
msg.warn input The message to display if the entire test status is 'warning'
msg.err input The message to display if the entire test status is 'error'
Any output or input message defined within a test allows for very simple variable substitution by enclosing a param name within dollar signs ($param name$). For example:
zone.err.msg = $url$ must be in the 'Internet' zone

An example demonstrating both output and input parameter options and message variable substitution is shown below:

[Windows]
DisplayName = Windows Version
version.warn = <5.0
version.warn.msg = Think about upgrading to Windows NT
version.err = <4.10
version.err.msg = Windows 98 or later is required
msg.ok = Everything is OK. Your version is $version$.
msg.err = Please upgrade your version of Windows
msg.warn = WARNING: You may have trouble running some applications

6. Creating Validation Expressions   

Expressions within Desktop Analyzer are not a full expression language, but rather a constraint expression language. If the expression evaluates to "true", then the "warn" (for a '.warn' param) or "err" (for a '.err' param) condition is set.

Expressions are evaluated from left to right, but parenthesis can be used to regroup evaluation order. Expressions always operate on the implied param, which is not specified in each expression. This results in expressions which look like:
version.err = <5.00.3805
name.warn = +"1997"
name.err = not(+"1997" || +"1998" || +"2000" || +"2002" || +"XP")
The operators in the expression language are:
Operator Description Types
< less than number, version
<= less than or equals number, version
> greater than number, version
>= greater than or equals number, version
== equals number, version
!= does not equal number, version
+ includes string
- does not include string
The functions that can be used in the expression language are:
Function Description
not(bIn) false if bIn==true; true if bIn==false
An example of the use of expressions is shown below:
[Application]
DisplayName = Test for Microsoft Office
find = winword.exe
name.warn = +"1997"
name.warn.msg = Office 1997 does not allow for seemless editing
name.err = not(+"1997" || +"1998" || +"2000" || +"2002" || +"XP")
version.err = <9.0

[Application]
DisplayName = Test for Microsoft Java VM
find = jview.exe
version.err = ==5.00.3809
version.err.msg = Security issues with current version, upgrade Java VM
msg.warn = WARNING: Upgrade your Java VM
msg.err = ERROR: Upgrade your Java VM

7. Signing and Testing Scripts    

Licensed users of DesktopAnalyzer will receive a license key from Visualware that should be saved to the file key.txt. This file, in addition to the script.txt file created in the steps above, are used to sign a new executable EXE file.

When DesktopAnalyzer.exe is run, it requires a valid license key and a script file to be signed to the executable. This process allows the user to manufacture predefined and configured DesktopAnalyzer executables for deployment or posting to a support website. The DesktopAnalyzer program will search for a valid script file as follows:

  1. The first script.txt that has been signed to the EXE
  2. A script.txt that is in the same folder as the EXE
  3. The default script.txt
This allows you to quickly and easily test and debug scripts before having to sign a script to an EXE. Once you are happy with a script, sign the script to the EXE by running sign.bat file located in the DesktopAnalyzer program directory, or using the following command line:
vsign2 desktopanalyzer.exe script.txt key.txt
The output of the above syntax is a unique EXE file called signed.exe.  This file can/should then be renamed prior to posting to a Website or distributing to the end user community.  

8. DesktopAnalyzer Agent Deployment

The output file (signed.exe) created in Section 7 above is typically deployed to the end user community via email or posted to a Website for on-demand usage.  It is recommended that this file be renamed prior to deployment as multiple EXE files can be created to perform specific configuration testing.

For web deployment, simply create a link on your web page that points to the Agent executable. An example page on how to configure web-based access to the executable is provided with the DesktopAnalyzer Release. To view the example, click on Start --> All Programs --> DesktopAnalyzer --> DesktopAnalyzer, and a sample page similar to the one below will be displayed.

 

 

9. End User Reporting    

The validation tests performed by DesktopAnalyzer may encompass general configuration issues such as hardware and software components as well as external service availability and performance such as connectivity issues as specified in the script.txt file used to sign the EXE.  

When the end user opens the EXE file, DesktopAnalyzer launches a window on the end user desktop like the one shown below and completes its validation.  At a glance, DesktopAnalyzer provides a visual indication as to whether the end user's desktop environment meets the requirements configured in the script file.  

If the showdetail input parameter is configured, the end user will be able to select the "Show detail" check box.  When checked, the DesktopAnalyzer output expands to provide specifics about the results of each [selection] test as shown in the figure below. 

Clicking on the HTML Report... button produces an HTML report that can then be saved or emailed (if the email input parameter is configured) to the helpdesk or support contact supplied in the report.  A detailed IP Configuration report is included at the bottom of the HTML report if specified using the ipconfig input parameter.


© 1997-2007 Visualware Inc. | All rights reserved | Legal Information