cx_Freeze
cx_Freeze copied to clipboard
cannot handle large number of files
I use this package for both wrapping up my python scripts and for wrapping up other things into installers simply due to its ease of use and script-ability compared to the other tools I've tried, however recently I've found a limitation in that it cannot handle more than 32767 files, this is documented by Microsoft as a limitation along with a way to work around this.
would it be possible to implement the workaround, possibly enabled by a flag in the setup rather than auto detecting?
if not then due to this limitation it would be good to flag the error properly rather than getting the traceback from msilib without explanation:
Traceback (most recent call last):
File "setup.py", line 70, in <module>
options = {'build_exe': {'include_files': files}, 'bdist_msi': bdist_msi_options,},
File "C:\Program Files\Python37\lib\site-packages\cx_Freeze\dist.py", line 349, in setup
distutils.core.setup(**attrs)
File "C:\Program Files\Python37\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Program Files\Python37\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "C:\Program Files\Python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Program Files\Python37\lib\site-packages\cx_Freeze\windist.py", line392, in run
self.add_files()
File "C:\Program Files\Python37\lib\site-packages\cx_Freeze\windist.py", line132, in add_files
dir.add_file(file)
File "C:\Program Files\Python37\lib\msilib\__init__.py", line 358, in add_file
language, attributes, sequence)])
File "C:\Program Files\Python37\lib\msilib\__init__.py", line 120, in add_data
raise MSIError("Could not insert "+repr(values)+" into "+table)
_msi.MSIError: Could not insert [('Manila', 'Asia', 'MANILA|Manila', 125, None, None, 512, 32768)] into File