New submission from Bill Janssen <bill.jans...@gmail.com>: I'm trying to create a CAB file containing about 69MB of data, in 4555 files. msilib fails in CAB.commit():
$ python build-msi-installer.py /c/UpLib/1.7.9 ~/uplib 1.7.9 ./uplib-1.7.9.msi c:\Documents and Settings\wjanssen\uplib\win32\uplib-1.7.9.msi install_location c:/UpLib/1.7.9 c:\docume~1\wjanssen\locals~1\temp\tmpu5dwz6 68943045 gc: collecting generation 0... gc: objects in each generation: 670 702 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 707 1364 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 699 2031 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 794 2680 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 730 3373 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 765 4018 8255 gc: done, 0.0000s elapsed. gc: collecting generation 0... gc: objects in each generation: 741 4697 8255 gc: done, 0.0000s elapsed. (1, 4555, None, '#prereqs', None, None) Traceback (most recent call last): File "build-msi-installer.py", line 780, in <module> p.run() File "build-msi-installer.py", line 243, in run self.add_files() File "build-msi-installer.py", line 312, in add_files cab.commit(self.db) File "c:\Python26\lib\msilib\__init__.py", line 223, in commit [(1, self.index, None, "#"+self.name, None, None)]) File "c:\Python26\lib\msilib\__init__.py", line 97, in add_data v = db.OpenView("SELECT * FROM `%s`" % table) _msi.MSIError: 1: 2229 2: c:\Documents and Settings\wjanssen\uplib\win32\uplib-1.7.9.msi 3: Media 4: SELECT * FROM `Media` gc: collecting generation 2... gc: objects in each generation: 416 5351 8254 gc: done, 0.0000s elapsed. $ (I added a bit of code to print out the Media table record, and the size of the file created with FCICreate.) This works fine if I choose a slightly smaller subset, such as /c/UpLib/1.7.9/lib, for instance. So I'm guessing this is a memory problem; at some point there's just not enough memory to open the MSI file and load the Media table. I opened the MSI file with orca and sure enough, there is no Media table in it. Not sure how to take that, though; perhaps the table only appears after a record has been written to it. Another reason to allow multiple CAB files in a single installer? ---------- components: Library (Lib), Windows messages: 104379 nosy: janssen, loewis priority: normal severity: normal status: open title: msilib can't create large CAB files type: resource usage versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8552> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com