# Perhaps this makes sense? I've done my best to forget. I'm using # python 2.5.2 now, and it seems to spew a lot of "fixme:" messages. # I don't recall those in an earlier python version. from msilib import * # Black magic to me now (a year after I gave up). db = OpenDatabase( "foo.msi", MSIDBOPEN_CREATE) # I no longer have *any* clue what "count" is. 20 seems to work. su = db.GetSummaryInformation(20) try: su.SetProperty(PID_CODEPAGE, "1252") except: print "String didn't work." try: su.SetProperty(PID_CODEPAGE, 1252) except: print "Integer didn't work." su.SetProperty(PID_SUBJECT, "Subject") # So sayeth the Great Satan! try: print su.GetProperty(PID_SUBJECT) # Works (for me). except NotImplementedError: print "PID_SUBJECT borked!" try: print su.GetProperty(PID_CODEPAGE) # Doesn't (for me). except NotImplementedError: print "PID_CODEPAGE borked!"