Windows Installer API (SDK)

Directory Table

Referenz » Directory Table | Microsoft Docs


VBS class Directory


Class classDirectoryTable
Private mDirectory, mDirectoryParent, mDefaultDir, mPathForCABS

	Public Property Get pDirectory
		pDirectory = mDirectory
	End Property
	Public Property Let pDirectory(strDirectory)
		mDirectory = strDirectory
	End Property
	Public Property Get pDirectoryParent
		pDirectoryParent = mDirectoryParent
	End Property
	Public Property Let pDirectoryParent(strDirectoryParent)
		mDirectoryParent = strDirectoryParent
	End Property
	Public Property Get pDefaultDir
		pDefaultDir = mDefaultDir
	End Property
	Public Property Let pDefaultDir(strDefaultDir)
		mDefaultDir = strDefaultDir
	End Property
	Public Property Get pPathForCABS
		pPathForCABS = mPathForCABS
	End Property
	Public Property Let pPathForCABS(strPathForCABS)
		mPathForCABS = strPathForCABS
	End Property

	Private Sub Class_Initialize
		'Anweisungen
	End Sub
	' -----------------------------------------------------------------
	
	Public Function ModifyDirectoryRecord()
	Dim strSQL, objView, objTableRow

	strSQL = "SELECT * FROM Directory"

	Set objView = objDatabase.OpenView(strSQL)
	objView.Execute
	Do 
		Set objTableRow = objView.Fetch
		If objTableRow Is Nothing Then
			Set objTableRow = objInstaller.CreateRecord(3)
			objTableRow.StringData(1) = mDirectory
			objTableRow.StringData(2) = mDirectoryParent
			objTableRow.StringData(3) = mDefaultDir
			objView.Modify msiViewModifyAssign, objTableRow
			Exit Do
		End If
			objTableRow.StringData(1) = mDirectory
			objTableRow.StringData(2) = mDirectoryParent
			objTableRow.StringData(3) = mDefaultDir
			objView.Modify msiViewModifyAssign, objTableRow
	Loop
	objDatabase.Commit()
	objView.Close
	Set objView = Nothing

	End Function
	' -----------------------------------------------------------------

	Private Sub Class_Terminate()
		'Anweisungen
	End Sub
End Class
' ---------------------------------------------------------------------