Microsoft KB Archive/223058

{|
 * width="100%"|

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

 * }

Q223058

-

The information in this article applies to:


 * Microsoft Windows Installer, versions 1.0, 1.1
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Professional

-

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.