-Application is in InstallShield Quasi-MSI format
-Patches for this application come out frequently
-If you install using classic MSI methods (install IS.MSI then install app.MSI with ISSETUPDRIVEN=1) future upgrades will not see this installation and will not uninstall automatically. (Installshieldism)
-Found silent install methods in PDFs but the "CONFIG file" method contain errors
-The Cumulative Hotfix runs a batch file with a PAUSE statement at the end which prevents automatic installation of Class patches.
**Method using CONFIG file**
Copied the sample CONFIG file from the PDF but it caused errors. It contained duplicate features and the following features were missing :
-Manually edited the CONFIG.TXT file to match defaults in setup.exe but unselected what I didn't need.
Created CMD batch file in folder above \SETUP\ folder to install silently:
"%~DP0setup\setup.exe" /s /V" /i CONFIG=\"%~DP0CLASS603_CONFIG.txt\" LOGFILE=\"%LOGS%\CLASS_FOR_WINDOWS_6_03.setup.log\" /l*v \"%LOGS%\CLASS_FOR_WINDOWS_6_03.setup.log\" "
Alternately you can omit one or both Log files like this:
"%~DP0setup\setup.exe" /s /V" /i CONFIG=\"%~DP0CLAS603_CONFIG.txt\" "
(the %~DP0 is the folder containing the CMD script. This Env Var only works in .CMD script)
To install Cumulative Hotfix silently, added the following to the above CMD batch file:
Echo Launch VBS script to fix HotfixInstallation.bat
ping 127.0.0.1 >Nul:
Start wscript "%~DP0fix_HotfixInstallation_bat.vbs"
"%~DP0603 SP3 Cumulative Hotfix.exe" -s
The "fix_HotfixInstallation_bat.vbs" script waits for the batch file to be extracted and removes the PAUSE statement *before* the hotfix exe runs it!
**Listing for fix_HotfixInstallation_bat.vbs**
'waits for a file to exist before acting on it.
'This Script removes PAUSE from a CMD script before the installation launches it
'Author: Denis St-Pierre
strFilePath="C:\Program Files\Class for Windows\6.03\HotfixInstallation.bat"
Set objFSO = CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject("WScript.Shell")
Const ForReading = 1
Const ForWriting = 2
strOldText = vbcrlf&"pause"
strNewText = ""
Do Until Exist=1
WScript.Sleep 1000 '(in milliseconds)
If objFSO.FileExists(strFilePath) then 'does the file EXIST?
' WScript.Echo "found"
objFSO.CopyFile strFilePath,strFilePath&".old" 'backup orig. bat file
Set objFile = objFSO.OpenTextFile(strFilePath, ForReading) 'Read file
strText = objFile.ReadAll
'Replace(expression, find, replacewith[, start[, count[, compare]]]
strNewText = Replace(strText, strOldText, strNewText,1,-1,vbTextCompare) 'remove pause
Set objFile = objFSO.OpenTextFile(strFilePath, ForWriting) 'Write back changed file
' WshShell.popup "Waiting for HotfixInstallation.bat file to exist",1,Wscript.ScriptName,0 'this pauses the script
' WScript.Echo "not found"
'To make sure this script doesn't run forever, check if "603 SP3 Cumulative Hotfix.exe" is still running?
If NOT (IsRunning("603 SP3 Cumulative Hotfix.exe") OR IsRunning("603 SP3 Cumulat")) then 'Damn, XP and 2k are different! 2k truncates!
WshShell.popup "603 SP3 Cumulative Hotfix.exe not running anymore, exiting...",4,Wscript.ScriptName,0 'this pauses the script
Function IsRunning( myProcess )
'Authors: Denis St-Pierre and Rob van der Woude
'Purpose: Returns True or False if a process is running
Dim blnRunning, colProcesses, objProcess
IsRunning = False
Set colProcesses = GetObject( _
).ExecQuery( "Select * From Win32_Process", , 48 )
For Each objProcess in colProcesses
If LCase( myProcess ) = LCase( objProcess.Name ) Then
Questions & Answers related to The Active Network Class for Windows
Blog posts related to The Active Network Class for Windows
Links related to The Active Network Class for Windows
Reviews related to The Active Network Class for Windows
By continuing to use this site and/or clicking the "Accept" button you are providing consent
Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our
websites or when you do business with us. For more information about our
efforts, please visit