home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 September
/
CHIPCD_9_99.iso
/
software
/
uaktualnienia
/
OptionPackPL
/
iis4_07.cab
/
Packages.bas
< prev
next >
Wrap
BASIC Source File
|
1998-04-27
|
5KB
|
181 lines
Attribute VB_Name = "Packages"
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwDelay As Long)
Sub InstallAllPackages(strDir As String)
' Try and stop any MTS packages
On Error Resume Next
Dim varRetVal
varRetVal = Shell("mtxstop", vbMinimizedNoFocus)
PauseALittle
' Now install each package
Install strDir, "ExAir", "ExAir.pak"
Install strDir, "Benefit", "Benefit.pak"
Install strDir, "Flight", "Flight.pak"
Install strDir, "TakeANumber", "TakeANumber.pak"
End Sub
Sub Install(strDir As String, strPackageName As String, strPackageFile As String)
On Error GoTo ErrorHandler
Dim strPackagePath As String
strPackagePath = strDir
' Append a '\' to the path if it's missing
If Right$(strPackagePath, 1) <> "\" Then strPackagePath = strPackagePath & "\"
strPackageFile = strPackagePath & strPackageFile
Dim objCatalog As New MTSAdmin.Catalog
Dim objPackageColl As Object
' Get the package collection
Set objPackageColl = objCatalog.GetCollection("Packages")
objPackageColl.Populate
' Delete the Package if already installed
Dim n As Integer
Dim i As Integer
n = objPackageColl.Count
For i = n - 1 To 0 Step -1
If UCase(objPackageColl.Item(i).Value("Name")) = UCase(strPackageName) Then
objPackageColl.Remove (i)
End If
Next
' Save the changes if any
objPackageColl.SaveChanges
' Add the Package
Dim objPackage As MTSAdmin.PackageUtil
Set objPackage = objPackageColl.GetUtilInterface
objPackage.InstallPackage strPackageFile, "", 0
objPackageColl.SaveChanges
Exit Sub
ErrorHandler:
MsgBox "An error occured while installing package '" & strPackageName _
& "'. The error is: " & mapError(Err.Number), vbOKOnly + vbExclamation, "ExAir Error"
End Sub
Sub UninstallAllPackages()
' Try and stop any MTS packages
On Error Resume Next
Dim varRetVal
varRetVal = Shell("mtxstop", vbMinimizedNoFocus)
PauseALittle
Uninstall "ExAir"
Uninstall "Benefit"
Uninstall "Flight"
Uninstall "TakeANumber"
End Sub
Sub Uninstall(strPackageName As String)
On Error Resume Next
Dim objCatalog As New MTSAdmin.Catalog
Dim objPackageColl As Object
' Get the package collection
Set objPackageColl = objCatalog.GetCollection("Packages")
objPackageColl.Populate
' Delete the package if already installed
Dim n As Integer
Dim i As Integer
n = objPackageColl.Count
For i = n - 1 To 0 Step -1
If UCase(objPackageColl.Item(i).Value("Name")) = UCase(strPackageName) Then
objPackageColl.Remove (i)
End If
Next
' Save the changes if any
objPackageColl.SaveChanges
End Sub
Public Function mapError(errorCode As Long) As String
Select Case errorCode
Case mtsErrPDFReadFail
mapError = "Unable to locate Package File"
Case mtsErrObjectErrors
mapError = "mtsErrObjectErrors - see ErrorInfo collection"
Case mtsErrObjectErrors
mapError = "mtsErrObjectErrors"
Case mtsErrObjectInvalid
mapError = "mtsErrObjectInvalid"
Case mtsErrKeyMissing
mapError = "mtsErrKeyMissing"
Case mtsErrAlreadyInstalled
mapError = "Package is already installed"
Case mtsErrCoReqCompInstalled
mapError = "mtsErrCoReqCompInstalled"
Case mtsErrBadPath
mapError = "mtsErrBadPath"
Case mtsErrPackageExists
mapError = "Package already exists"
Case mtsErrRemoteInterface
mapError = "mtsErrRemoteInterface"
Case mtsErrCantCopyFile
mapError = "Cannot copy file"
Case mtsErrNoTypeLib
mapError = "TypeLib does not exist"
Case mtsErrNoUser
mapError = "No User defined"
Case mtsErrInvalidUserids
mapError = "Invalid User IDs"
Case mtsErrUserPasswdNotValid
mapError = "User Password is Invalid"
Case mtsErrNoServerShare
mapError = "mtsErrNoServerShare"
Case mtsErrPackDirNotFound
mapError = "Package Directory Not Found"
Case mtsErrCompFileNotInstallable
mapError = "mtsCompFileNotInstallable"
Case mtsErrNotDeletable
mapError = "mtsErrNotDeleteable"
Case mtsErrNotChangeable
mapError = "mtsErrNotChangeable"
Case mtsErrSession
mapError = "mtsErrSession"
Case Else
mapError = "Unknown error: " & Hex(errorCode)
End Select
End Function
Private Sub PauseALittle()
Sleep 2000
End Sub