Job Management Partner 1/Software Distribution Administrator's Guide Volume 1

[Contents][Glossary][Index][Back][Next]

Appendix D.5 Examples of scripts

Organization of this subsection
(1) Creating an installation script
(2) Creating a collection script

(1) Creating an installation script

Function main()
' DMP_AUTO_BUILD DECLARE-DIM START
    Dim ResourceName As String
    Dim ResourceVersion As String
    Dim CommandFile As String
    Dim ActiveVersion As String
    Dim OsVersion As String
    Dim InstallBeforeProgram As String
    Dim InstallAfterProgram As String
    Dim InstallErrorProgram As String
    Dim Capacity As Integer
    Dim ForceDelivery As System
    Dim ProcessorType As System
    Dim CoProcessor As System
    Dim OsKind As System
 
    Dim PremiseVersion As String
' DMP_AUTO_BUILD DECLARE-DIM END
 
' DMP_AUTO_BUILD DECLARE-ON_INSTALLERROR START
    On InstallError
        Do
                InstallErrorProgram =
                "C:\USERS\DEFAULT\error.exe"
                Shell(InstallErrorProgram)
                Restore()
        End
' DMP_AUTO_BUILD DECLARE-ON_INSTALLERROR END
 
' DMP_AUTO_BUILD RESOURCE_INFORMATION-GET START
    ResourceName = GetResourceName()
    ResourceVersion = GetResourceVersion()
' DMP_AUTO_BUILD RESOURCE_INFORMATION-GET END
 
' DMP_AUTO_BUILD FORCE_INSTALL-CHECK START
    ForceDelivery = DmInfo(FORCE_DELIVERY, 0)
    If ForceDelivery = FORCE
    Then
        Goto    SKIP_VERSION_CHECK
    End If
' DMP_AUTO_BUILD FORCE_INSTALL-CHECK END
' DMP_AUTO_BUILD VERSION-CHECK START
    ActiveVersion = VerInfo(ACTIVE_VERSION, ResourceName)
    If ActiveVersion = ""
    Then
        Goto    SKIP_VERSION_CHECK
    End If
    If ActiveVersion = ResourceVersion
    Then
        Exit
    End If
' DMP_AUTO_BUILD VERSION-CHECK END
 
SKIP_VERSION_CHECK:
 
' DMP_AUTO_BUILD INSTALL-CHECK START
    ProcessorType = SysInfoCpuType()
    If ProcessorType <> I_PENTIUM
    Then
        DmSetStatus(INSTALL_HENVERROR)
        ErrorExit
    End If
    Capacity = SysInfoHDEmpty("C:")
    If Capacity < 100
    Then
        DmSetStatus(INSTALL_CAPAERROR)
        ErrorExit
    End If
    Capacity = SysInfoMemory(REAL_MEMORY)
    If Capacity < 32
    Then
        DmSetStatus(INSTALL_HENVERROR)
 
        ErrorExit
    End If
    OsVersion = SysInfoOSVersion(WINDOWS)
    If OsVersion < "0400"
    Then
        DmSetStatus(INSTALL_SENVERROR)
        ErrorExit
    End If
' DMP_AUTO_BUILD INSTALL-CHECK END
INSTALL_NO_CHECK:
' DMP_AUTO_BUILD SOFTWARE-CHECK START
    PremiseVersion = VerInfoEx(PACKAGE_ID, "TEST01")
    If PremiseVersion <> ""
    Then
        DmSetStatus(INSTALL_PSVRERROR)
        ErrorExit
    End If
    PremiseVersion = VerInfoEx(PACKAGE_NAME, "statistics001")
    If PremiseVersion < "0000    0000"
    Then
        DmSetStatus(INSTALL_PSVRERROR)
        ErrorExit
    End If
    PremiseVersion = VerInfoEx(PACKAGE_ID, "TEST02")
    If PremiseVersion = "0100    0000"
    Then
        DmSetStatus(INSTALL_PSVRERROR)
        ErrorExit
    End If
' DMP_AUTO_BUILD SOFTWARE-CHECK END
 
' DMP_AUTO_BUILD AUTO-INSTALL START
    InstallBeforeProgram = "C:\USERS\DEFAULT\before.exe"
    Shell(InstallBeforeProgram)
    Backup()
 
    Install("C:\USERS\DEFAULT")
    DelBackup()
    InstallAfterProgram = "C:\USERS\DEFAULT\after.exe"
    Shell(InstallAfterProgram)
' DMP_AUTO_BUILD AUTO-INSTALL END
 
' DMP_AUTO_BUILD CREATE-SHORTCUT START
    CreateShortCut("c:windows\desktop", "c:
\USERS\DEFAULT\test01.exe", "test tool for applications")
' DMP_AUTO_BUILD CREATE-SHORTCUT END
 
End Function

(2) Creating a collection script

 
Function main()
 
' DMP_AUTO_BUILD DECLARE-DIM START
    Dim CollectBeforeProgram As String
    Dim CollectAfterProgram As String
    Dim CollectErrorProgram As String
' DMP_AUTO_BUILD DECLARE-DIM END
 
' DMP_AUTO_BUILD DECLARE-ON_COLLECTIONERROR START
    On CollectionError
        Do
            CollectErrorProgram = "C:\USERS\DEFAULT\ERROR.exe"
           Shell(CollectErrorProgram)
                           'Start collection failure execution program
        End
' DMP_AUTO_BUILD DECLARE-ON_COLLECTIONERROR END
 
' DMP_AUTO_BUILD AUTO-COLLECTION START
    CollectBeforeProgram = "C:\USERS\DEFAULT\BEFORE.exe"
    Shell(CollectBeforeProgram)
                            'Start before-collection execution program
    Collection(COLLECTION_START)    'Initialize collection settings
    Collection("C:\USERS\DEFAULT\user.data")
                                          'Set the collection file
    Collection("%WINDOWS%\WIN.INI")
    Collection("%SYSTEM%\DRIVERS\ETC")
                                       'Set the collection directory
    Collection(COLLECTION_END)      'Execute collection
    CollectAfterProgram = "C:\USERS\DEFAULT\AFTER.exe"
    Shell(CollectAfterProgram)
                             'Start after-collection execution program
' DMP_AUTO_BUILD AUTO-COLLECTION END
 
End Function