Windows Installer API (SDK)

Summary Information Stream

Referenz » Summary Information Stream | Microsoft Docs


VBS class Summary Information Stream


Class classSummeryInformation
Private mPIDCODEPAGE, mPIDTITLE, mPIDSUBJECT, mPIDAUTHOR, mPIDKEYWORDS
Private mPIDCOMMENTS, mPIDTEMPLATE, mPIDLASTAUTHOR, mPIDREVNUMBER
Private mPIDLASTPRINTED, mPIDCREATEDTM, mPIDLASTSAVEDTM, mPIDPAGECOUNT
Private mPIDWORDCOUNT, mPIDCHARCOUNT, mPIDAPPNAME, mPIDSECURITY

    Public Property Get PIDCODEPAGE
        PIDCODEPAGE = mPIDCODEPAGE
    End Property
    Public Property Let PIDCODEPAGE(strPIDCODEPAGE)
        mPIDCODEPAGE = strPIDCODEPAGE
    End Property
    Public Property Get PIDTITLE
        PIDTITLE = mPIDTITLE
    End Property
    Public Property Let PIDTITLE(strPIDTITLE)
        mPIDTITLE = strPIDTITLE
    End Property
    Public Property Get PIDSUBJECT
        PIDSUBJECT = mPIDSUBJECT
    End Property
    Public Property Let PIDSUBJECT(strPIDSUBJECT)
        mPIDSUBJECT = strPIDSUBJECT
    End Property
    Public Property Get PIDAUTHOR
        PIDAUTHOR = mPIDAUTHOR
    End Property
    Public Property Let PIDAUTHOR(strPIDAUTHOR)
        mPIDAUTHOR = strPIDAUTHOR
    End Property
    Public Property Get PIDKEYWORDS
        PIDKEYWORDS = mPIDKEYWORDS
    End Property
    Public Property Let PIDKEYWORDS(strPIDKEYWORDS)
        mPIDKEYWORDS = strPIDKEYWORDS
    End Property
    Public Property Get PIDCOMMENTS
        PIDCOMMENTS = mPIDCOMMENTS
    End Property
    Public Property Let PIDCOMMENTS(strPIDCOMMENTS)
        mPIDCOMMENTS = strPIDCOMMENTS
    End Property
    Public Property Get PIDTEMPLATE
        PIDTEMPLATE = mPIDTEMPLATE
    End Property
    Public Property Let PIDTEMPLATE(strPIDTEMPLATE)
        mPIDTEMPLATE = strPIDTEMPLATE
    End Property
    Public Property Get PIDLASTAUTHOR
        PIDLASTAUTHOR = mPIDLASTAUTHOR
    End Property
    Public Property Let PIDLASTAUTHOR(strPIDLASTAUTHOR)
        mPIDLASTAUTHOR = strPIDLASTAUTHOR
    End Property
    Public Property Get PIDREVNUMBER
        PIDREVNUMBER = mPIDREVNUMBER
    End Property
    Public Property Let PIDREVNUMBER(strPIDREVNUMBER)
        mPIDREVNUMBER = strPIDREVNUMBER
    End Property
    Public Property Get PIDLASTPRINTED
        PIDLASTPRINTED = mPIDLASTPRINTED
    End Property
    Public Property Let PIDLASTPRINTED(strPIDLASTPRINTED)
        mPIDLASTPRINTED = strPIDLASTPRINTED
    End Property
    Public Property Get PIDCREATEDTM
        PIDCREATEDTM = mPIDCREATEDTM
    End Property
    Public Property Let PIDCREATEDTM(strPIDCREATEDTM)
        mPIDCREATEDTM = strPIDCREATEDTM
    End Property
    Public Property Get PIDLASTSAVEDTM
        PIDLASTSAVEDTM = mPIDLASTSAVEDTM
    End Property
    Public Property Let PIDLASTSAVEDTM(strPIDLASTSAVEDTM)
        mPIDLASTSAVEDTM = strPIDLASTSAVEDTM
    End Property
    Public Property Get PIDPAGECOUNT
        PIDPAGECOUNT = mPIDPAGECOUNT
    End Property
    Public Property Let PIDPAGECOUNT(strPIDPAGECOUNT)
        mPIDPAGECOUNT = strPIDPAGECOUNT
    End Property
    Public Property Get PIDWORDCOUNT
        PIDWORDCOUNT = mPIDWORDCOUNT
    End Property
    Public Property Let PIDWORDCOUNT(strPIDWORDCOUNT)
        mPIDWORDCOUNT = strPIDWORDCOUNT
    End Property
    Public Property Get PIDCHARCOUNT
        PIDCHARCOUNT = mPIDCHARCOUNT
    End Property
    Public Property Let PIDCHARCOUNT(strPIDCHARCOUNT)
        mPIDCHARCOUNT = strPIDCHARCOUNT
    End Property
    Public Property Get PIDAPPNAME
        PIDAPPNAME = mPIDAPPNAME
    End Property
    Public Property Let PIDAPPNAME(strPIDAPPNAME)
        mPIDAPPNAME = strPIDAPPNAME
    End Property
    Public Property Get PIDSECURITY
        PIDSECURITY = mPIDSECURITY
    End Property
    Public Property Let PIDSECURITY(strPIDSECURITY)
        mPIDSECURITY = strPIDSECURITY
    End Property

    Private Sub Class_Initialize
        'Anweisungen
    End Sub
    ' -----------------------------------------------------------------

    Public Function GetSummeryInfo()
    Dim SummeryInfo

    Set SummeryInfo = objDatabase.SummaryInformation(15)

    mPIDCODEPAGE    = SummeryInfo.Property(1)
    mPIDTITLE       = SummeryInfo.Property(2)
    mPIDSUBJECT     = SummeryInfo.Property(3)
    mPIDAUTHOR      = SummeryInfo.Property(4)
    mPIDKEYWORDS    = SummeryInfo.Property(5)
    mPIDCOMMENTS    = SummeryInfo.Property(6)
    mPIDTEMPLATE    = SummeryInfo.Property(7)
    mPIDREVNUMBER   = SummeryInfo.Property(9)
    ' -------------------
    mPIDLASTPRINTED = SummeryInfo.Property(11)
    mPIDCREATEDTM   = SummeryInfo.Property(12)
    mPIDLASTSAVEDTM = SummeryInfo.Property(13)
    mPIDPAGECOUNT   = SummeryInfo.Property(14)
    mPIDWORDCOUNT   = SummeryInfo.Property(15)
    mPIDAPPNAME     = SummeryInfo.Property(18)
    mPIDSECURITY    = SummeryInfo.Property(19)

    Set SummeryInfo = Nothing

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

    Public Function ExecuteSummeryInformation()
    Dim SummeryInfo

    Set SummeryInfo = objDatabase.SummaryInformation(15)

    SummeryInfo.Property(1) = mPIDCODEPAGE
    SummeryInfo.Property(2) = mPIDTITLE
    SummeryInfo.Property(3) = mPIDSUBJECT
    SummeryInfo.Property(4) = mPIDAUTHOR
    SummeryInfo.Property(5) = mPIDKEYWORDS
    SummeryInfo.Property(6) = mPIDCOMMENTS
    SummeryInfo.Property(7) = mPIDTEMPLATE
    SummeryInfo.Property(9) = mPIDREVNUMBER
    ' -------------------
    SummeryInfo.Property(11) = mPIDLASTPRINTED
    SummeryInfo.Property(12) = mPIDCREATEDTM
    SummeryInfo.Property(13) = mPIDLASTSAVEDTM
    SummeryInfo.Property(14) = mPIDPAGECOUNT
    SummeryInfo.Property(15) = mPIDWORDCOUNT
    SummeryInfo.Property(18) = mPIDAPPNAME
    SummeryInfo.Property(19) = mPIDSECURITY

    SummeryInfo.Persist
    objDatabase.Commit()
    Set SummeryInfo = Nothing

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

    Public Function InitializeSummeryInformation()

    GetSummeryInfo

    If mPIDCODEPAGE    = "" Then mPIDCODEPAGE = 1252
    If mPIDTITLE       = "" Then mPIDTITLE = "Windows Installer Database"
    If mPIDSUBJECT     = "" Then mPIDSUBJECT = ApplicationInfo.pProductName & " " & ApplicationInfo.pProductVersion
    If mPIDAUTHOR      = "" Then mPIDAUTHOR = "SimplyCleverMSI"
    If mPIDKEYWORDS    = "" Then mPIDKEYWORDS = "Windows Installer, MSI"
    If mPIDCOMMENTS    = "" Then mPIDCOMMENTS = "This installer database contains the logic and data required to install this application."
    If mPIDTEMPLATE    = "" Then mPIDTEMPLATE = ApplicationInfo.pArchitecture & ";" & ApplicationInfo.pProductLanguage
    If mPIDREVNUMBER   = "" Then mPIDREVNUMBER = GenerateGUID
    ' -------------------
    If mPIDLASTPRINTED = "" Then mPIDLASTPRINTED = Now
    If mPIDCREATEDTM   = "" Then mPIDCREATEDTM = Now
    If mPIDLASTSAVEDTM = "" Then mPIDLASTSAVEDTM = Now
    If mPIDPAGECOUNT   = "" Then mPIDPAGECOUNT = 500
    If mPIDWORDCOUNT   = "" Then mPIDWORDCOUNT = 0
    If mPIDAPPNAME     = "" Then mPIDAPPNAME = "generated from SimplyCleverMSI"
    If mPIDSECURITY    = "" Then mPIDSECURITY = 0

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

    Private Function GenerateGUID()
    Dim objGuid

    Set objGuid = CreateObject("Scriptlet.Typelib")
        GenerateGUID = Left(objGuid.Guid, 38)
    Set objGuid = Nothing
    
    End Function
    ' -----------------------------------------------------------------

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