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

1334 Runtime Error - Incorrect Build When Custom Compression Used For Features

1334 Runtime Error - Incorrect Build When Custom Compression Used For Features

Summary

Runtime Error 1334 Due To CABs (Cabinet Files) Not Created Or Wrong Files Are Placed In CAB

Symptoms

A runtime error with the following information occurs:
?Error 1334. The file 'xxx' cannot be installed because the file cannot be found in cabinet file 'yyy'.


Cause

At build there is an unexpected resequence of files which causes a runtime error. This issue may be occurring at build because of how a feature to associate a CAB file with is determined. Using previous package syncing applies a change to file sequences and changes how a feature in the build has a sequence number associated with it. In some cases the build picks the wrong feature to add CABs or files into it. Runtime problem/invalid CAB problem may occur when the previous package and "one cab per feature" are specified in the release.

Steps To Reproduce

These are steps to illustrate unexpected behavior in a minimal scenario:
  1. Create a new Basic MSI.2
  2. Add two features (F1, F2).
  3. Add one component to each feature, with one key file each (A.txt, B.txt respectively).
  4. Create a release "Base" using One Cab Per Feature, no setup.exe.
  5. Build (Should result in .msi and two .cab files, F1.cab containing A.txt and F2.cab containing B.txt).
  6. Verify that the built Media table contains F1 before F2, and that the file sequences of A and B are 1 and 2 respectively.
  7. Increment the ProductVersion for a minor upgrade.
  8. Add a second component to F1, with a key file (C.txt).
  9. Clone "Base" release into "Update" and point Previous Release to the base .msi file.
  10. Build Update.
Expected Results: The release Update has F1.cab containing A.txt and C.txt; F2.cab contains B.txt.

Actual Results: Update's F1.cab contains A.txt and B.txt; F2.cab contains C.txt. As you may experience B.txt moved cabs, and B.txt was added to the wrong one.

Resolution

The expected behavior occurs when file sequence syncing is not used.
  • Adding DoNotSyncSequenceNumbers with value 1 to the InstallShield table causes expected results.
  • Another way to disable file syncing is not use the fully qualified path to Previous Package for creating patch packages.

Additional Information

This issue is being tracked internally as Master Issue Number: IOJ-1598309 | ISDEV-7393

Related KB Articles

Windows Installer Error 1334
Labels (1)
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Feb 08, 2018 01:58 PM
Updated by: