Provenance of the 65536 Component Table limit #9123
baxter-huntington
started this conversation in
WiX Development
Replies: 1 comment
-
This is the related issue: #702 and pull request wixtoolset/wix#186. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have a burning question that I'd like to get to the bottom of. I have managed to run up against the following error when using WiX to package a large project:
I can see that these limits were added in this commit: wixtoolset/wix@15b9502
The established existence of this limit is further traced back to a comment in this thread from 20 years ago. To date, it still doesn't seem like Microsoft documents 65536, or any other hard limit, as the maximum number of components in an MSI. Now, I can absolutely see why there would be a limit for practical reasons—creating such a large MSI is probably ill-advised in most cases anyways—but I'm very curious if someone with much more knowledge of WiX/the Windows Installer API than I could point to the fundamental reason for this limitation. Is it as simple as a component count somewhere being stored as a 16-bit unsigned integer? Does the limit actually still exist?
I'll note that if I build WiX with the limit added in that commit removed, I can still generate a seemingly valid MSI, but Windows take ages to initialize the installer (enumerating the contents, perhaps?). Can't say whether it will reliably install, though.
Essentially, I'd like to re-open the discussion from that 20-year-old thread. Any and all insights would be much appreciated 😃
Beta Was this translation helpful? Give feedback.
All reactions