There is currently no solution to the file sequencing problems that adding
files in Merge Modules introduce for patching.
To see how merge module files are ordered take a look at the Binder.
ProcessMergeModules() method.
From: Sandip Shahane
Sent: Monday, September 10, 2007 17:46
To: Heath Stewart; Windows Installer Support (MS Internal);
wix-users@lists.sourceforge.net; Windows Installer XML; Rob Mensching; [EMAIL
PROTECTED]
Subject: RE: error 1334 due to file sequencing.
True, this is what is happening, but what I can't figure out is why this is
happening or is there anything I am doing wrong here. Can anybody tell if the
following is indeed a bug and if so, is it fixed or any workaround?
http://sourceforge.net/mailarchive/message.php?msg_id=E1FZMWn-0007MY-CR%40sc8-sf-web5.sourceforge.net
My problem is exactly similar to this one. What I am looking for is some kind
of log (build time) or trace that can point me to what is going wrong from my
side.
Here is what I see:
There are few merge modules A,B,C,D etc..
There has been no change in first two merge modules, for third one the existing
file sequence is same (as seen in the MSMs) with some new files at the end of
the merge module (same is the case for other merge modules too). Now, I
noticed on building the MSI that file sequence is changed for the existing
files from merge module C (they are not obviously merged in the same order as
in the MSM), which is something very strange.
Here is the light.exe verbose log for files ordered as F_1, F_2, F_3, F_4 in
the merged module. It's not in the same order as in the wix source files
(.wxs). I want to understand how this ordering of the files is decided while
building MSM & and also merging into MSI ?
Updating file information.
Generating database.
Merging modules.
Processing media information.
Cabbing file F_2 from
'c:\<userTempLocation>.41712086_AFA9_408D_84D8_5884F692B6CD'.
Cabbing file F_1 from
'c:\<userTempLocation>.41712086_AFA9_408D_84D8_5884F692B6CD'.
Cabbing file F_4 from
'c:\<userTempLocation>.41712086_AFA9_408D_84D8_5884F692B6CD'.
Cabbing file F_3 from
'c:\<userTempLocation>.41712086_AFA9_408D_84D8_5884F692B6CD'.
Thanks and Regards,
Sandip
From: Heath Stewart
Sent: Monday, September 10, 2007 2:32 PM
To: Sandip Shahane; Windows Installer Support (MS Internal);
wix-users@lists.sourceforge.net; Windows Installer XML; Rob Mensching; [EMAIL
PROTECTED]
Subject: RE: error 1334 due to file sequencing.
The "why" is because PatchWiz.dll (like when you use msimsp.exe) will
automatically update the file sequences to begin the last sequence number of
the target product (as authored in PCP files for older PatcWiz.dll, or
automatically with newer versions of PatchWiz.dll). If those sequence numbers
change in between the target and upgrade, PatchWiz.dll will not automatically
update them so the new files sequences authored in (or merged in, in this case)
are used. That means that if they fall within the first and last sequence
numbers of the target product, then those files are expected to be found in the
RTM media instead of in the patch media.
Heath Stewart
Technical Lead
Deployment Technologies Group, Microsoft
http://blogs.msdn.com/heaths
From: Sandip Shahane
Sent: Monday, September 10, 2007 10:23 AM
To: Windows Installer Support (MS Internal); wix-users@lists.sourceforge.net;
Windows Installer XML; Rob Mensching; [EMAIL PROTECTED]
Subject: RE: error 1334 due to file sequencing.
<+wix-dev mailing list and setupsup>
Note that file sequencing was changed in SP1 (after RTM was released) for few
files in one of the merge modules used. I fixed it so that the merge modules
file sequencing is now exactly the same as before (though some merge modules
have now additional files too at the end of sequencing in File Table). 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.
Thanks and Regards,
Sandip
From: Sandip Shahane
Sent: Friday, September 07, 2007 4:58 PM
To: 'wix-users@lists.sourceforge.net'; Windows Installer XML; Rob Mensching
Subject: RE: error 1334 due to file sequencing.
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