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
-
Software license tracking
-
Install / Upgrade / Uninstall software depending on configuration
-
Apply service packs where needed
Detection methods
-
Computer Name
-
Registry key exists
-
Registry key contents
-
Operating System Platform
-
File Version
-
File Version - file name taken from a registry key
-
Windows NT Service Pack level
Operating Systems
-
Windows 95
-
Windows 98
-
Windows 98SE
-
Windows Millenium
-
Windows NT 4.0 Workstation
-
Windows NT 4.0 Server
-
Windows 2000
Windows XP coming soon!
Actions
-
Install
-
Install and continue checking
-
Uninstall
-
Uninstall - executable taken from a registry key
-
Run program in background
-
Audit
Configuration File
Each Program item is specified in order. The sequence of the specifications
are as follows:
-
Program Definition
-
Checks to perform
-
Action to take
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
-
FileRegVersion
-
FileVersion
-
Platform
-
RegKey
-
NTServicePack
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
- if a line has a \ in the middle, the rest of the line will be ignored.
- if a line does not have the trailing \, the software will get confused when it reads the next line.
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:
-
WINNTS - NT 4.0 Server
-
WINNTW - NT 4.0 Workstation
-
WIN2000 - Windows 2000
-
WINNT - All NT Based OS's
-
WIN95 - Windows 95
-
WIN98 - Windows 98
-
WIN98SE - Windows 98 Second Edition
-
WINME - Windows Millenium
-
WIN9X - All Windows 95 Based OS's
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
-
UnInstall
-
UnInstallReg
-
UnInstallForce
-
UnInstallContinue
-
UnInstallRegForce
-
RunContinue
-
RunBack
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.