The Active Network Class for Windows

Views: 1.2k  |  Created: 02/06/2007

Average Rating: 0
Class for Windows has 5 inventory records, 0 Questions, 0 Blogs and 0 links. Please help add to this by sharing more!

Deployment Tips (2)

Most Common Setup Type
Not Determined
Average Package Difficulty Rating
Rated 0 / 5 (Not Rated) based on 0 ratings
Most Commonly Reported Deployment Method
Not Determined
or cancel
119
Note
**Caveats**
-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 :
Rem:ClassforWindows\DatabaseComponents\UpgradeClassDatabase
Rem:ClassforWindows\DatabaseComponents\QueryTool
Rem:ClassforWindows\DatabaseComponents\MsdeTool
Rem:ClassforWindows\DatabaseComponents\CopyClassDatabase
Add:ClassforWindows\DatabaseComponents\MaintainClassDatabase

-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
pause
::5sec delay
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 = ""
Exist=0

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
objFile.Close
'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
objFile.WriteLine strNewText
objFile.Close
Exist=1
Else
' WshShell.popup "Waiting for HotfixInstallation.bat file to exist",1,Wscript.ScriptName,0 'this pauses the script
' WScript.Echo "not found"
Exist=0
'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
Wscript.Quit
End if
END If

Loop

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( _
"winmgmts:{impersonationLevel=impersonate}" _
).ExecQuery( "Select * From Win32_Process", , 48 )
For Each objProcess in colProcesses
If LCase( myProcess ) = LCase( objProcess.Name ) Then
IsRunning= True
End If
Next
End Function
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
0
Note
The Above information is still good for Class For Windows 7.x, However the list of options in the installation document is now correct.

I found I had to map a drive using a batch script in Zenworks, it didn't like executing directly from a network path.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment

Inventory Records (5)

View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.

Class for Windows

Version

6.00.0304

Contact

ClassSupport@Active.com

Uninstall String

C:\PROGRA~1\COMMON~1\INSTAL~1\Driver\1050\INTEL3~1\IDriver.exe /M{B24788E6-C9EC-4D18-BA27-055F1E18CC83}

Questions & Answers (0)

Questions & Answers related to The Active Network Class for Windows

Blogs (0)

Blog posts related to The Active Network Class for Windows

Reviews (0)

Reviews related to The Active Network Class for Windows