KNOWN ISSUE: Internal Error 1334 from Patch
search cancel

KNOWN ISSUE: Internal Error 1334 from Patch

book

Article ID: 176765

calendar_today

Updated On:

Products

Symantec Products

Issue/Introduction

I am attempting to create a patch file that will install new files, update existing files and the newer .MSI contains the same merge modules. When applying the patch, it returns an internal 1334 error.

Cause

From previous versions, the following issue was reported with the patching for only some cases. The error “Cannot execute MakeCab.exe,” or Windows Installer error 1334, is possible when attempting to build or apply a patch between two .msi installations that both contain merge modules, and the new version contains a file that is not present in the previous versions. The compiler is sequencing the new file ahead of the merge module files in the file table. This causes the resulting .cab files to be incompatible with the previous versions for patch purposes.

In current version, the sequencing issue is fixed, but the Media table is not properly updated in the patch file.

Example: This is how the File Table looks in the Previous .MSI

 File1.exe   1
 File2.exe  2
 File3.exe  3
 Mergemodulefile.exe  4
 Mergemodulefile1.exe  5

This is how the File Tables looks in the upgraded .msi
File Table

 File1.exe  1
 File2.exe  2
 File3.exe  3
 Newfile.txt  4
 Newfile1.txt  5
 Mergemodulefile.exe  6
 Mergemodulefile1.exe  7

Now the Media Table in the Upgrade .MSI  looks like the following:

Media Table

 DiskID  LastSequence DiskPrompt    Cabinet  VolumeLabel  Source
 1  5   LABEL  #Cabs.w1.cab  
 1  7    #Cabs.m2  

Now note how the File and Media Table looks in the Patch.

File Table

 File1.exe  1
 File2.exe  2
 File3.exe  3
 Mergemodulefile.exe  4
 Mergemodulefile1.exe  5
 Newfile.txt   6
 Newfile1.txt  7
                            
Media Table

 DiskID  LastSequence  DiskPrompt   Cabinet  VolumeLabel  Source
 1  5  LABEL  #Cabs.w1.cab  
 1  7    #Cabs.m2  

The New files are given new Sequence numbers, so that it is sequenced after the Merge module files. But notice the Media Table has not changed. This means that the two new files are expected to be in the #Cabs.m2 when running the patch file. Since the Media table was not properly updated, the two new files are still in the Cabs.w1.cab. This causes the internal error message 1334 for miscellaneous files.

You will not see this behavior with all patches. This issue appears to happen only when you set the REINSTALLMODE to AMUS in the new .msi.

Resolution

Possible workarounds:
  1. Set the REINSTALLMODE to OMUS in the new .msi.
  2. If you must set the REINSTALLMODE to AMUS in the new .msi:
    1. Perform an administrave installation of the new .msi.
    2. Open both the  old and new .msi's simultaneously. Open the new .msi in Orca and the old one in Windows Installer Editor.
    3. Click the Setup Editor and click Tables tab. Go to the Media table in both .msi files.
    4. Change the LastSequence column in the new .msi to match the values in the original .msi.
    5. Go to the File Table in both .msi files and sort by sequence number in the Sequence column.
    6. Change the sequence number for all merge module files in the new .msi to match the value in the old one in the Sequence column. Be cautious when changing the sequence number because there may be gaps in numbers at times. For example, it may skip from 208 to 211.
    7. Change the sequence numbers for the new files so they are the next two numbers after the merge module files.
    8. After saving the .msi, open the admin install in Windows Installer Editor and run the patch wizard to create patch file.
  3. Call a Wisescript to install the new files.
  4. Create an Upgrade rather than a patch.

Applies To
Windows XP SP2
Wise Installation Studio/Express 7.x
Wise Package Studio 7.x