Windows Installer API (SDK)
Binary Table
Referenz » Binary Table | Microsoft Docs
VBS class Binary
Class classBinaryTable
Private mName, mData
Public Property Get pName
pName = mName
End Property
Public Property Let pName(strName)
mName = strName
End Property
Public Property Get pData
pData = mData
End Property
Public Property Let pData(binaryData)
mData = binaryData
End Property
Private Sub Class_Initialize
'Anweisungen
End Sub
' -----------------------------------------------------------------
Public Function CreateTable()
Dim strSQL, objView, objTableRow
strSQL = "CREATE TABLE " & Chr(96) & "Binary" & Chr(96) & " (" & _
Chr(96) & "Name" & Chr(96) & " CHAR(72) NOT NULL, " & _
Chr(96) & "Data" & Chr(96) & " OBJECT NOT NULL PRIMARY KEY , " & _
Chr(96) & "Name" & Chr(96) & ")"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
objDatabase.Commit()
msiValidationTable.pTable = "Binary"
msiValidationTable.pColumn = "Name"
msiValidationTable.pNullable = "N"
msiValidationTable.pMinValue = Null
msiValidationTable.pMaxValue = Null
msiValidationTable.pKeyTable = ""
msiValidationTable.pKeyColumn = Null
msiValidationTable.pCategory = "Identifier"
msiValidationTable.pSet = ""
msiValidationTable.pDescription = "Unique key identifying the binary data."
msiValidationTable.ModifyAssignValidationRecord
msiValidationTable.ResetValidationRecord
msiValidationTable.pTable = "Binary"
msiValidationTable.pColumn = "Data"
msiValidationTable.pNullable = "N"
msiValidationTable.pMinValue = Null
msiValidationTable.pMaxValue = Null
msiValidationTable.pKeyTable = ""
msiValidationTable.pKeyColumn = Null
msiValidationTable.pCategory = "Binary"
msiValidationTable.pSet = ""
msiValidationTable.pDescription = "The unformatted binary data."
msiValidationTable.ModifyAssignValidationRecord
msiValidationTable.ResetValidationRecord
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function ModifyBinaryRecord()
Dim strSQL, objView, objRecord
strSQL = "SELECT " & Chr(96) & "Name" & Chr(96) & "," & _
Chr(96) & "Data" & Chr(96) & " FROM Binary"
Set objView = objDatabase.OpenView(strSQL)
Set objRecord = objInstaller.CreateRecord(2)
objRecord.StringData(1) = mName
objView.Execute objRecord
objRecord.SetStream 2, mData
objView.Modify msiViewModifyAssign, objRecord
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteBinaryRecords()
Dim strSQL, objView, objTableRow
strSQL = "SELECT * FROM Binary"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
Do
Set objTableRow = objView.Fetch
If objTableRow Is Nothing Then Exit Do
If objTableRow.StringData(1) = mName Then _
objView.Modify msiViewModifyDelete, objTableRow
Loop
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteAllRecords()
Dim strSQL, objView
strSQL = "DELETE FROM Binary"
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 Binary"
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
' ---------------------------------------------------------------------