cx_Freeze icon indicating copy to clipboard operation
cx_Freeze copied to clipboard

cannot handle large number of files

Open JamesGKent opened this issue 7 years ago • 0 comments

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

JamesGKent avatar Mar 13 '19 09:03 JamesGKent