BUG: Windows Installer Fails to Copy All Files when Using Multiple Cabinets

ID: Q223058


The information in this article applies to:


SYMPTOMS

The Windows Installer does not support installing from cabinet (CAB) files when more than 15 files are split across two cabinet files (two CABs each containing pieces of 15 different files). If this situation occurs, the user does not receive an error even though not all files in the two cabinet files are installed.

Note that the above problem is different than splitting 1 file across 2 cabinets 15 times in your package. The situation occurs only when the cabinet engine splits multiple files across the same two cabinets.


CAUSE

When an entire file is not in the first cabinet, a filecopy operation is put on the stack. The stack size is limited to 15. When the second cabinet is encountered, only the 15 filecopy operations on the stack are executed. The remaining filecopy operations will not run.


RESOLUTION

The number of files spanning from one cabinet to the other should be reduced to 15 or below.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Because the compression technology operates on 32 KB blocks, when it reaches a disk boundary, all files that fall within the current 32 KB block get "split" over to the next disk. Thus, packages that contain large numbers of small files are likely to run into this problem. For example, if a package has 1000 consecutive files, each 200 bytes in size, 164 files (32KB/200) would be split to the next disk when the compressor reaches the disk boundary.


REFERENCES

See the topic "Cabinet Files" in the Windows Installer Help file:, Msi.chm.

Additional query words: cab compressed


Keywords          : kbAppSetup kbMSI kbDSupport kbGrpDSTools 
Version           : WINDOWS:1.0
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: July 15, 1999