Windows Installer API (SDK)
Signature Table
Referenz » Signature Table | Microsoft Docs
VBS class Signature
Class classSignatureTable
Private mSignature, mFileName, mMinVersion, mMaxVersion, mMinSize
Private mMaxSize, mMinDate, mMaxDate, mLanguages
Public Property Get pSignature
pSignature = mSignature
End Property
Public Property Let pSignature(strSignature)
mSignature = strSignature
End Property
Public Property Get pFileName
pFileName = mFileName
End Property
Public Property Let pFileName(strFileName)
mFileName = strFileName
End Property
Public Property Get pMinVersion
pMinVersion = mMinVersion
End Property
Public Property Let pMinVersion(strMinVersion)
mMinVersion = strMinVersion
End Property
Public Property Get pMaxVersion
pMaxVersion = mMaxVersion
End Property
Public Property Let pMaxVersion(strMaxVersion)
mMaxVersion = strMaxVersion
End Property
Public Property Get pMinSize
pMinSize = mMinSize
End Property
Public Property Let pMinSize(lngMinSize)
mMinSize = lngMinSize
End Property
Public Property Get pMaxSize
pMaxSize = mMaxSize
End Property
Public Property Let pMaxSize(lngMaxSize)
mMaxSize = lngMaxSize
End Property
Public Property Get pMinDate
pMinDate = mMinDate
End Property
Public Property Let pMinDate(lngMinDate)
mMinDate = lngMinDate
End Property
Public Property Get pMaxDate
pMaxDate = mMaxDate
End Property
Public Property Let pMaxDate(lngMaxDate)
mMaxDate = lngMaxDate
End Property
Public Property Get pLanguages
pLanguages = mLanguages
End Property
Public Property Let pLanguages(strLanguages)
mLanguages = strLanguages
End Property
Private Sub Class_Initialize
'Anweisungen
End Sub
' -----------------------------------------------------------------
Public Function CreateTable()
Dim strSQL, objView
strSQL = "CREATE TABLE " & Chr(96) & "Signature" & Chr(96) & " (" & _
Chr(96) & "Signature" & Chr(96) & " CHAR(72) NOT NULL, " & _
Chr(96) & "FileName" & Chr(96) & " CHAR(255) NOT NULL, " & _
Chr(96) & "MinVersion" & Chr(96) & " CHAR(20), " & _
Chr(96) & "MaxVersion" & Chr(96) & " CHAR(20), " & _
Chr(96) & "MinSize" & Chr(96) & " Long, " & _
Chr(96) & "MaxSize" & Chr(96) & " Long, " & _
Chr(96) & "MinDate" & Chr(96) & " Long, " & _
Chr(96) & "MaxDate" & Chr(96) & " Long, " & _
Chr(96) & "Languages" & Chr(96) & " CHAR(255) PRIMARY KEY " & _
Chr(96) & "Signature" & Chr(96) & ")"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
objDatabase.Commit()
msiValidation.pTable = "Signature"
msiValidation.pColumn = "Signature"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Identifier"
msiValidation.pSet = ""
msiValidation.pDescription = "The table key. The Signature represents a unique file signature."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "FileName"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "FileName"
msiValidation.pSet = ""
msiValidation.pDescription = "The name of the file. This may contain a " & _
Chr(34) & "short name|long name" & Chr(34) & " pair."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MinVersion"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Text"
msiValidation.pSet = ""
msiValidation.pDescription = "The minimum version of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MaxVersion"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Text"
msiValidation.pSet = ""
msiValidation.pDescription = "The maximum version of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MinSize"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = cInt("0")
msiValidation.pMaxValue = cInt("2147483647")
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = ""
msiValidation.pSet = ""
msiValidation.pDescription = "The minimum size of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MaxSize"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = cInt("0")
msiValidation.pMaxValue = cInt("2147483647")
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = ""
msiValidation.pSet = ""
msiValidation.pDescription = "The maximum size of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MinDate"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = cInt("0")
msiValidation.pMaxValue = cInt("2147483647")
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = ""
msiValidation.pSet = ""
msiValidation.pDescription = "The minimum creation date of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "MaxDate"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = cInt("0")
msiValidation.pMaxValue = cInt("2147483647")
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = ""
msiValidation.pSet = ""
msiValidation.pDescription = "The maximum creation date of the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "Signature"
msiValidation.pColumn = "Languages"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Language"
msiValidation.pSet = ""
msiValidation.pDescription = "The languages supported by the file."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function ModifySignatureRecord()
Dim strSQL, objView, objTableRow
strSQL = "SELECT * FROM Signature"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
Do
Set objTableRow = objView.Fetch
If objTableRow Is Nothing Then
Set objTableRow = objInstaller.CreateRecord(9)
objTableRow.StringData(1) = mSignature
objTableRow.StringData(2) = mFileName
objTableRow.StringData(3) = mMinVersion
objTableRow.StringData(4) = mMaxVersion
objTableRow.IntegerData(5) = mMinSize
objTableRow.IntegerData(6) = mMaxSize
objTableRow.IntegerData(7) = mMinDate
objTableRow.IntegerData(8) = mMaxDate
objTableRow.StringData(9) = mLanguages
objView.Modify msiViewModifyAssign, objTableRow
Exit Do
End If
objTableRow.StringData(1) = mSignature
objTableRow.StringData(2) = mFileName
objTableRow.StringData(3) = mMinVersion
objTableRow.StringData(4) = mMaxVersion
objTableRow.IntegerData(5) = mMinSize
objTableRow.IntegerData(6) = mMaxSize
objTableRow.IntegerData(7) = mMinDate
objTableRow.IntegerData(8) = mMaxDate
objTableRow.StringData(9) = mLanguages
objView.Modify msiViewModifyAssign, objTableRow
Loop
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteSignatureRecord()
Dim strSQL, objView, objTableRow
strSQL = "SELECT * FROM Signature"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
Do
Set objTableRow = objView.Fetch
If objTableRow Is Nothing Then Exit Do
If objTableRow.StringData(1) = mSignature Then _
objView.Modify msiViewModifyDelete, objTableRow
Loop
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteAllRecords()
Dim strSQL, objView
strSQL = "DELETE FROM Signature"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DropTable()
Dim strSQL, objView
strSQL = "DROP TABLE Signature"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Private Sub Class_Terminate()
'Anweisungen
End Sub
End Class
' ---------------------------------------------------------------------