This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: file limit for a Basic MSI merge module?
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 05, 2010
09:16 AM
file limit for a Basic MSI merge module?
I need to build a merge module that includes around 64000 files, and got such an error:
ISDEV : fatal error -5023: Error building table File
Is there such a limit with a merge module?
I tested with a Basic MSI project (non-merge module), and it worked fine.
Thanks.
ISDEV : fatal error -5023: Error building table File
Is there such a limit with a merge module?
I tested with a Basic MSI project (non-merge module), and it worked fine.
Thanks.
(11) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 06, 2010
09:05 AM
As I said, if I put all the files in a merge module, the build fails;
if I put all the files in a Basic MSI project with nothing else, it succeeds;
if I put all the files in a Basic MSI project with other files, the build succeeds, but the install fails with error 1334.
My question is, is there a file number limit?
if I put all the files in a Basic MSI project with nothing else, it succeeds;
if I put all the files in a Basic MSI project with other files, the build succeeds, but the install fails with error 1334.
My question is, is there a file number limit?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 06, 2010
11:28 AM
there is no limit to the number of files I have found, however when compressing the files into a single merge module, MSI or CAB file there is a total size limit of approximately 2GB. This is a limitation Microsoft has placed on the files. You might need to split it into a couple of merge modules and the installer that uses them will need to be either uncompressed or using CAB files that compress sections of the installers.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 06, 2010
05:47 PM
Windows Installer has a limit of 32767 files as this is what the msi database schema defaults to. For Basic Msi, InstallShield uses a modified schema when you have a larger number of files included in your project, but this is not done when building a merge module project.
As a workaround, try modifying IsMsiMM.itp in the InstallShield\Support\0409 folder so the Sequence column definition is i4 instead of i2. Also, update the the _Validation table.
Here's an MSDN page with more info.
http://msdn.microsoft.com/en-us/library/aa367767.aspx
As a workaround, try modifying IsMsiMM.itp in the InstallShield\Support\0409 folder so the Sequence column definition is i4 instead of i2. Also, update the the _Validation table.
Here's an MSDN page with more info.
http://msdn.microsoft.com/en-us/library/aa367767.aspx
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 07, 2010
03:36 PM
Thanks for the info.
I know what to do with the File, Media and Patch table. But how could I get access to the _Validation table? It does not seem to be available from Direct Editor? Thanks.
I know what to do with the File, Media and Patch table. But how could I get access to the _Validation table? It does not seem to be available from Direct Editor? Thanks.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 30, 2011
12:32 PM
Is there a step by step tutorial for doing this? In my basic MSI project I don't see how to change the column type in the file menu, and I'm not sure how to open the .itp files in a usable format.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 01, 2011
10:41 AM
Any help? This thread has 1100+ views, so people are definitely facing this problem.
I can export the tables from the direct editor, but I can't re-import them, as there is a name collision, and I can't drop them to re-import my edited copies. What's the right way to do this?
Added bonus- will hand editing these files persist through updates?
I can export the tables from the direct editor, but I can't re-import them, as there is a name collision, and I can't drop them to re-import my edited copies. What's the right way to do this?
Added bonus- will hand editing these files persist through updates?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 04, 2011
01:06 PM
OK, so after much trial and error, here's what I did.
1- download ORCA from microsoft.
2- copy ISMsiPkg.itp
3- load up the .itp file in ORCA
4- go through the tables listed here: http://msdn.microsoft.com/en-us/library/aa367767.aspx and edit schema on the 3 tables to change the listed column from i2 to i4.
5- in the _validation table you need to find the table entry for each of the tables you just changed the schema and again change the MaxValue entry. Seems a little silly to have to mod it twice, but you have to.
6- replaced the ISMsiPkg.itp with my edited version.
Here's the next issue- any thoughts?
Once I did that I could build my project. When I added in all the files (dynamic linkage) it broke signing. When I went through the Release Wizard and unchecked the "Sign Windows Installer Package" box it will build the setup.exe. I verified twice that the only difference is whether I add in the new files.
So, on the upside, it works. The downside is that it now takes about two hours to create a setup.exe. Previously it took about 20 minutes. That seems like a pretty crazy increase in time.
Previously: ~29k files, 170ish meg setup.exe, ~20 mins to create setup, signed.
Now: ~38k files, 220ish meg setup.exe, ~120 mins to create setup, unsigned.
1- download ORCA from microsoft.
2- copy ISMsiPkg.itp
3- load up the .itp file in ORCA
4- go through the tables listed here: http://msdn.microsoft.com/en-us/library/aa367767.aspx and edit schema on the 3 tables to change the listed column from i2 to i4.
5- in the _validation table you need to find the table entry for each of the tables you just changed the schema and again change the MaxValue entry. Seems a little silly to have to mod it twice, but you have to.
6- replaced the ISMsiPkg.itp with my edited version.
Here's the next issue- any thoughts?
Once I did that I could build my project. When I added in all the files (dynamic linkage) it broke signing. When I went through the Release Wizard and unchecked the "Sign Windows Installer Package" box it will build the setup.exe. I verified twice that the only difference is whether I add in the new files.
So, on the upside, it works. The downside is that it now takes about two hours to create a setup.exe. Previously it took about 20 minutes. That seems like a pretty crazy increase in time.
Previously: ~29k files, 170ish meg setup.exe, ~20 mins to create setup, signed.
Now: ~38k files, 220ish meg setup.exe, ~120 mins to create setup, unsigned.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 10, 2012
05:17 AM
I did exactly like the previous post and the problem still exist.
My package contains more than 32767 files.
I replaced 32767 with 65536 in IsMsiMM.itp, ISMsiPkg.itp files the following:
In Table: _Validation
The Sequence column of the File table.
The LastSequence column of the Media table.
The Sequence column of the Patch table.
Any idea?
Please advice.
My package contains more than 32767 files.
I replaced 32767 with 65536 in IsMsiMM.itp, ISMsiPkg.itp files the following:
In Table: _Validation
The Sequence column of the File table.
The LastSequence column of the Media table.
The Sequence column of the Patch table.
Any idea?
Please advice.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 10, 2012
05:51 AM
Hi there,
Your thousands of files are probably not executable code, but loads of resources that don't need to be deployed as single files.
Why don't you try to pack your resources into some DLL's?
You can avoid quite a lot of troubles by doing so:
It would add a few steps to your application build process, but it might well be worth the effort. It would also drastically reduce the build time of your setup.
What do you reckon?
Your thousands of files are probably not executable code, but loads of resources that don't need to be deployed as single files.
Why don't you try to pack your resources into some DLL's?
You can avoid quite a lot of troubles by doing so:
- Less files to handle in your InstallShield project.
- As you have so many files, you have probably used Dynamic File Linking in your project, and I think it is good to avoid them.
- Your resource DLL's have a version number.
It would add a few steps to your application build process, but it might well be worth the effort. It would also drastically reduce the build time of your setup.
What do you reckon?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 10, 2012
06:08 AM
I need to create package of Online Help which includes many of html files.
How can i pack my resources (html) into some DLL's?
What about the option to increase the file limit for Basic Msi
How can i pack my resources (html) into some DLL's?
What about the option to increase the file limit for Basic Msi
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 12, 2012
01:40 AM
Do you really need to deploy all your HTML files and all the corresponding resources?
Could you pack all these documents in a CHM file (http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help)?
There are various tools to compile your HTML documents into a CHM file.
A reasonable practice consists of
As for the workaround to increase the file limit in a Basic MSI project, it could possibly work, but it might have some side effects.
I think it is a good practice to reduce the amount of files in your installation package. It makes the maintenance of your ISM project easier, and the installation quicker.
Could you pack all these documents in a CHM file (http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help)?
There are various tools to compile your HTML documents into a CHM file.
A reasonable practice consists of
- packing your HTML documents into one or several CHM files, then distribute them in your installation package, so that users of your application can read your help file offline.
- at the same time, uploading your HTML documents to a web server, so that other users can read it online.
As for the workaround to increase the file limit in a Basic MSI project, it could possibly work, but it might have some side effects.
I think it is a good practice to reduce the amount of files in your installation package. It makes the maintenance of your ISM project easier, and the installation quicker.