Hi,
Is there any document on how wix creates the MSI generally and File table in 
particular. I am interested in understanding how the files are ordered in the 
File table by the Wix.
I want to troubleshoot this issue I am facing (seems like it is similar to 
http://sourceforge.net/mailarchive/message.php?msg_id=E1FZMWn-0007MY-CR%40sc8-sf-web5.sourceforge.net
 ).

We have RTM MSI built using Wix It is composed of few merge modules. Now we 
have built a SP of the same RTM with few new files and few file updates in the 
existing merge modules. Also we have added a merge module to the MSI. Now after 
reinstalling a feature we get error 1334 (file not found in cab). I noticed the 
file sequencing was changed so I went and did the changes to add PatchGroup 
attribute to all new files in the respective merge modules (with incremental 
PatchGroup value for each new file). But still files are not in correct order. 
Files ordering is changed even before I come across a new file in the File 
table.

On comparing every merge module I observed existing files are in same order 
with additional files at the end of each merge modules. Also during SP1 we have 
changed the Package InstallerVersion='300' from InstallerVersion='200'. I have 
created patch using msimsp and provided FileSequencStart as sufficiently large 
number.

Any guidance / pointers will be greatly appreciated as we are blocked here.

Thanks and Regards,
Sandip


From: Sandip Shahane
Sent: Friday, September 07, 2007 11:13 AM
To: wix-users@lists.sourceforge.net; Windows Installer XML
Subject: error 1334 due to file sequencing.

I noticed that file sequencing was changed for few files in one of the merge 
modules used. I fixed it so that both the merge modules file sequencing is now 
exactly the same. But after integrating the merge module into MSI the 
sequencing seems to have changed. Why is this happening and how do I ensure the 
file sequencing is preserved on merging the modules.

From: Hemchander Sannidhanam
Sent: Thursday, September 06, 2007 1:15 PM
To: Sandip Shahane; Windows Installer Support (MS Internal)
Subject: RE: file sequencing...

Unfortunately, there is no ICE to validate an MSP.

To just give you an idea of the reason behind the 1334 error:

1.       Windows Installer looks at an MSI (with all patches applied to its 
in-memory view of the RTM MSI) and goes through the files in the File table in 
a sequence sorted by the Sequence column of the File table.

2.       For each of these files that needs to be updated or installed as part 
of this transaction, it creates a FileCopy (or PatchApply) opcode and queues it 
up in the installation script

3.       When the Windows Installer's executor looks at the FileCopy (or 
PatchApply) opcode and realizes that the file is compressed, it goes looking 
inside the cab related to this file.

4.       We extract files from the cab sequentially (not random access). This 
means if the files listed in the File table and the ones inside the cab are not 
in the same order, you will see this 1334 error.

If you changed the File sequence numbers between your RTM and SP1, then the 
in-memory view of the MSI will have a File table whose sequence numbers might 
not match with that of the cab. This is the primary reason for the 1334 error 
while applying a patch.

Hem.
From: Sandip Shahane
Sent: Tuesday, September 04, 2007 3:49 PM
To: Windows Installer Support (MS Internal)
Subject: file sequencing...

Hi,
How do we make sure the newly added files in an existing merge modules does not 
break MSI rule of file sequencing? We have several merge modules in our product 
setup (built using Wix) and most of them have new files added (we added 
PatchGroup attribute to newly added files and also added them as a separate 
components at the end of the component element list under Directory element). 
Now after upgrading the existing RTM product to this SP and doing reinstall of 
a feature it gives error 1334 (file not found in the cab). My understanding is 
this is due to file sequencing conflict (the orca shows few files in File table 
as changed "only" for Sequence column, rest all remaining same). I am not sure 
what else might be missing or need to do to make sure the file sequencing is 
correct.
Is there any ICE .cub that I can use to validate the package against file 
ordering?

Thanks in advance,
Sandip

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to