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