Windows Workstation System Manager

WWSM is a login-script program that determines whether software is installed, updated or removed by testing for Operating System, registry keys, software versions and machine name.

Features

Detection methods

Operating Systems

Windows XP coming soon!

Actions

Configuration File

Each Program item is specified in order. The sequence of the specifications are as follows:

Program Definition

Program TAB Program Name
Where TAB is a tab in the line.

The Program name is used in the Install and Uninstall requestors, so make this human-readable.

Checks to Perform

Users

Users USER1 USER2 USER3 \
MOREUSERS
This is basically a list of machines that are assigned to have the software installed. To make it easier to read, a \ at the end of the line tells the parser to continue on the next line. There must be a space before the \ at the end of the line.
Important Notes

FileRegVersion

FileRegVersion TAB HKEY_LOCAL_MACHINE TAB SOFTWARE\etc TAB (Default) TAB 4.0.0.899
Where TAB is a tab in the line.

This command takes a filename as specified in a particular registry key. In this case the (Default) is used where there isn't a sub-key, just the main key (see regedit for an example). The filename is checked for version information and compared to the number specified, in this case 4.0.0.899. If the file is non-existant or the version number is below that specified, the software is deemed Not Installed. Otherwise, it is deemed Installed.

FileVersion

FileVersion TAB c:\program files\filename TAB 4.0.0.899
Where TAB is a tab in the line.

This command takes a filename as specified and checks for version information and compared to the number specified, in this case 4.0.0.899. If the file is non-existant or the version number is below that specified, the software is deemed Not Installed. Otherwise, it is deemed Installed.

Platform

Platform TAB WINME
Where TAB is a tab in the line.

This command compared the operating system to the one specified. Operating Systems available are:

RegKey

RegKey TAB HKEY_LOCAL_MACHINE  SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Office8.0 TAB DisplayName TAB == TAB Microsoft Office 97, Professional Edition
Where TAB is a tab in the line.

This command compares the registry with the specified key. If the key matches the software is deemed Installed. Otherwise, it is deemed Not Installed.
It is possible to cut down the RegKey command to check less amounts, for example:
RegKey TAB HKEY_LOCAL_MACHINE TAB SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Office8.0
Would just check whether the \\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Office8.0 key existed in the registry.

NTServicePack

NTServicePack TAB 6
Where TAB is a tab in the line.

This command checks the current level of Windows NT service pack.

Action to take

The actions to take can be a combination of:

Install

If a machine does not have the software installed but is configured to, a popup is shown asking the user if they wish to have the software installed immediately. If the user presses yes, run the program specified on the rest of the line. If the user presses no, continue checking the machine.

UnInstall

If a machine does have the software installed but is not configured to, a popup is shown telling the user they need to remove the software. When the user presses ok, run the program specified on the rest of the line.

UnInstallForce

Uninstall the software without notifying the user.

UnInstallContinue

Uninstall the software without notifying the user, and the check is continued.

UnInstallReg

If a machine does have the software installed but is not configured to, a popup is shown telling the user they need to remove the software. When the user presses ok, run the program specified in the registry key specified on the rest of the line.

UnInstallRegForce

Uninstall the software without notifying the user.

RunContinue

If a machine does not have the software installed but is configured to, the program specified on the rest of the line is executed without prompts and the check is continued.

RunBack

If a machine does not have the software installed but is configured to, the program specified on the rest of the line is executed in the background, without prompts and the check is continued.
 

Configuration Examples

This example will install Office97Pro on the computers called USER1, USER2 and USER3. It will uninstall Office97Pro off all other machines. The %PDCDIR% is an environment variable showing the path to the folder containing the AutoIT2 program.
Program Office97 Professional
; Define the checks to perform
RegKey  HKEY_LOCAL_MACHINE      SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Office8.0   DisplayName     ==      Microsoft Office 97, Professional Edition
; Define the users allowed to have the software
Users USER1 USER2 USER3
; Define Installation script to run
Install %PDCDIR%\AutoIT2 %PDCDIR%\Office97Pro.aut
; Define Uninstallation script to run
;UnInstall %PDCDIR%\AutoIT2 %PDCDIR%\UOffice97.aut

Mailing Lists

There are two mailing lists for wwsm.

Announce

For announcement of new versions. Subscribe here.

User

For general usage of wwsm. Subscribe here.

Download now, from http://sourceforge.net/projects/wwsm/

CVS Repository

You can browse the source code and examples online here.
 

SourceForge Logo