cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

File size limit

Hello,

I have a Basic MSI project which builds fine (InstallShield 2016 and 2018R2).
I added a couple of very large files (total of aprox 5Gb) and the build fails with Fatal Error 0 (with no other explanation)
I removed these files and I start adding them one by one and after 2 successful iterations, it failed again.
The last successful build ended up with a msi of 1prox 1.9 Gb, the next one failed.

Is there a file size limit for the resulting MSI (or the included files)?

Thanks,
Ioan
Labels (1)
0 Kudos
(2) Replies
Jenifer
Flexera Alumni

Ioanb22 wrote:
Hello,

I have a Basic MSI project which builds fine (InstallShield 2016 and 2018R2).
I added a couple of very large files (total of aprox 5Gb) and the build fails with Fatal Error 0 (with no other explanation)
I removed these files and I start adding them one by one and after 2 successful iterations, it failed again.
The last successful build ended up with a msi of 1prox 1.9 Gb, the next one failed.

Is there a file size limit for the resulting MSI (or the included files)?

Thanks,
Ioan


What are the limits for a large MSI package?
There are a couple of limits that you may hit when authoring a large, complex MSI package.

Total number of files
If your Windows Installer package contains more than 32767 files, you must change the schema of the database to increase the limit of the following columns: the Sequence column of the File table, the LastSequence column of the Media table, and the Sequence column of the Patch table. Note that transforms and patches cannot be created between two packages with different column types. This is explained in MSI Help topic Authoring a Large Package.

Total number of components
The maximum number of rows for the Component table is 65536.

This limit was discovered by Danish Waheed and posted on the WiX users mailing list. It has been confirmed by a Microsoft employee but hasn't been officially documented yet.

Number of components per feature
There is a maximum limit of 1600 components per feature using Windows NT/Windows 2000 and a maximum limit of 800 components per feature using Windows 95 and Windows 98. There will be a ICE47 validation warning if your package is above this limit. This is documented in MSI Help topic FeatureComponents Table.

Depth of Feature tree
There is a maximum limit of 16 for the depth of the feature tree. If you exeed this limit you get a runtime error message "2701. The Component table exceeds the acceptable tree depth of 16 levels." which is a bit misleading because the limit actually applyies to the Feature tree, not the Component tree (in my understanding there is no component tree in MSI). In a test with a feature tree 20 levels deep msiexec.exe even crashed instead of displaying an error message.

This limit has been reported by Danish Waheed on the WiX users mailing list. It doesn't seem to be officially documented.

Number of disks or CAB files
For each disk or CAB file one row must be added to the Media table. Windows Installer packages are limited to a maximum of 80 Media table entries when installed using Windows Installer prior to version 2.0. The restriction of 80 Media table entries was removed with Windows Installer version 2.0. This is documented in MSI Help topic Media Table.

Limits of the CAB file format
The only compressed file type supported natively by Windows Installer is the Cabinet (CAB) format. The following limits apply to this file format.

No one file in a CAB can exceed 2GB
Maximum size of all files in one folder (compressed) 2GB
Maximum size of a CAB file (compressed) 2GB
Maximum number of files in a single CAB 64K
You can avoid these limits by splitting your setup into multiple CABs, possibly up to 64K * 2GB, or by placing your application files on the distribution disk uncompressed.

These limits have been documented on the Windows Installer Team Blog.

Additional Limitations on Windows 95/98/Me
Windows Installer stores a lot of information about installed features and components in the registry. Because the size of a registry key is limited on Windows 9X, the following approximate limits apply:

Registry values are limited to 16382 on Windows 98 and Windows Me, and limited to 16371 on Windows 95. This effectively limits the number of components per feature to 817. The limit varies depending upon any additional space needed to accommodate optional parent features, which should placed in the same value.
The total size of a registry key and all its values is limited to 64 KB on Windows 95 only. This can limit the maximum total number of features and components in a product.
Windows Installer version 1.2 saves in-progress information as a registry value. This can limit the maximum number of features on Windows 95, Windows 98, and Windows Me. This limitation no longer exists with Windows Installer version 2.0 or later.
These limitations are documented in MSI Help topic Windows Installer Registry Limitations on Windows 95/98/Me.

Hope it helps,
Thanks,
Jenifer
0 Kudos
Not applicable

Thank you, Jenifer. I got my answer.

Ioan
0 Kudos