Windows Installer API (SDK)
IniFile Table
Referenz » IniFile Table | Microsoft Docs
VBS class IniFile
Class classIniFileTable
Private mIniFile, mFileName, mDirProperty, mSection, mKey, mValue, mAction, mComponent
Public Property Get pIniFile
pIniFile = mIniFile
End Property
Public Property Let pIniFile(strIniFile)
mIniFile = strIniFile
End Property
Public Property Get pFileName
pFileName = mFileName
End Property
Public Property Let pFileName(strFileName)
mFileName = strFileName
End Property
Public Property Get pDirProperty
pDirProperty = mDirProperty
End Property
Public Property Let pDirProperty(strDirProperty)
mDirProperty = strDirProperty
End Property
Public Property Get pSection
pSection = mSection
End Property
Public Property Let pSection(strSection)
mSection = strSection
End Property
Public Property Get pKey
pKey = mKey
End Property
Public Property Let pKey(strKey)
mKey = strKey
End Property
Public Property Get pValue
pValue = mValue
End Property
Public Property Let pValue(strValue)
mValue = strValue
End Property
Public Property Get pAction
pAction = mAction
End Property
Public Property Let pAction(intAction)
mAction = intAction
End Property
Public Property Get pComponent
pComponent = mComponent
End Property
Public Property Let pComponent(strComponent)
mComponent = strComponent
End Property
Private Sub Class_Initialize
'Anweisungen
End Sub
' -----------------------------------------------------------------
Public Function CreateTable()
Dim strSQL, objView
strSQL = "CREATE TABLE " & Chr(96) & "IniFile" & Chr(96) & " (" & _
Chr(96) & "IniFile" & Chr(96) & " CHAR(72) NOT NULL, " & _
Chr(96) & "FileName" & Chr(96) & " CHAR(255) LOCALIZABLE NOT NULL, " & _
Chr(96) & "DirProperty" & Chr(96) & " CHAR(72), " & _
Chr(96) & "Section" & Chr(96) & " CHAR(255) LOCALIZABLE NOT NULL, " & _
Chr(96) & "Key" & Chr(96) & " CHAR(128) LOCALIZABLE NOT NULL, " & _
Chr(96) & "Value" & Chr(96) & " CHAR(255) LOCALIZABLE NOT NULL, " & _
Chr(96) & "Action" & Chr(96) & " SHORT NOT NULL, " & _
Chr(96) & "Component_" & Chr(96) & " CHAR(72) NOT NULL PRIMARY KEY " & _
Chr(96) & "IniFile" & Chr(96) & ")"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
objDatabase.Commit()
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "IniFile"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Identifier"
msiValidation.pSet = ""
msiValidation.pDescription = "Primary key, non-localized token."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
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 .INI file name in which to write the information."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "DirProperty"
msiValidation.pNullable = "Y"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Identifier"
msiValidation.pSet = ""
msiValidation.pDescription = "Foreign key into the Directory table denoting the " & _
"directory where the .INI file is."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "Section"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Formatted"
msiValidation.pSet = ""
msiValidation.pDescription = "The .INI file Section."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "Key"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Formatted"
msiValidation.pSet = ""
msiValidation.pDescription = "The .INI file key below Section."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "Value"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = "Formatted"
msiValidation.pSet = ""
msiValidation.pDescription = "The value to be written."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "Action"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = ""
msiValidation.pKeyColumn = Null
msiValidation.pCategory = ""
msiValidation.pSet = "0;1;3"
msiValidation.pDescription = "The type of modification to be made, one of iifEnum."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
msiValidation.pTable = "IniFile"
msiValidation.pColumn = "Component_"
msiValidation.pNullable = "N"
msiValidation.pMinValue = Null
msiValidation.pMaxValue = Null
msiValidation.pKeyTable = "Component"
msiValidation.pKeyColumn = 1
msiValidation.pCategory = "Identifier"
msiValidation.pSet = ""
msiValidation.pDescription = "Foreign key into the Component table referencing " & _
"component that controls the installing of the .INI value."
msiValidation.ModifyValidationRecord
msiValidation.ResetValidationRecord
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function ModifyIniFileRecord()
Dim strSQL, objView, objTableRow
strSQL = "SELECT * FROM IniFile"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
Do
Set objTableRow = objView.Fetch
If objTableRow Is Nothing Then
Set objTableRow = objInstaller.CreateRecord(8)
objTableRow.StringData(1) = mIniFile
objTableRow.StringData(2) = mFileName
objTableRow.StringData(3) = mDirProperty
objTableRow.StringData(4) = mSection
objTableRow.StringData(5) = mKey
objTableRow.StringData(6) = mValue
objTableRow.IntegerData(7) = mAction
objTableRow.StringData(8) = mComponent
objView.Modify msiViewModifyAssign, objTableRow
Exit Do
End If
objTableRow.StringData(1) = mIniFile
objTableRow.StringData(2) = mFileName
objTableRow.StringData(3) = mDirProperty
objTableRow.StringData(4) = mSection
objTableRow.StringData(5) = mKey
objTableRow.StringData(6) = mValue
objTableRow.IntegerData(7) = mAction
objTableRow.StringData(8) = mComponent
objView.Modify msiViewModifyAssign, objTableRow
Loop
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteIniFileRecord()
Dim strSQL, objView, objTableRow
strSQL = "SELECT * FROM IniFile"
Set objView = objDatabase.OpenView(strSQL)
objView.Execute
Do
Set objTableRow = objView.Fetch
If objTableRow Is Nothing Then Exit Do
If objTableRow.StringData(8) = mComponent Then _
objView.Modify msiViewModifyDelete, objTableRow
Loop
objDatabase.Commit()
objView.Close
Set objView = Nothing
End Function
' -----------------------------------------------------------------
Public Function DeleteAllRecords()
Dim strSQL, objView
strSQL = "DELETE FROM IniFile"
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 IniFile"
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
' ---------------------------------------------------------------------