Purely Wix Admin based patch not replacing all files

6 messages Options
Embed this post
Permalink
Shawn Dwyer

Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
Hi,

Using Wix 3.0.5315.0 I'm trying to create my first real (non-sample) MSP
following the instructions here:
http://blogs.msdn.com/pmarcu/archive/2008/05/30/Patching-something-you-didnt-build-with-WiX-using-WiX-.aspx

I created the admin image from version 3.0.37 of my app, copied it, and
replaced a few of the files with version 3.0.38.  As long as I include the
-xo option as noted in the comments, the MSP is generated and installs
against 3.0.37.  However, not all of the files are replaced.  Below is what
I thought would be important snippets from the attached msiexec log in case
it doesn't come through.  The names and number of files are simplified
below.  In the example, NewFile.exe and NewFile.exe.config are both in the
same Component, where NewFile.exe is the keyfile being upgraded from 3.0.37
to 3.0.38, and NewFile.exe.config has new content but obviously no version
number.  The results I am seeing is that NewFile.exe.config is replaced by
the patch, but NewFile.exe remains at 3.0.37.  If you're reading the
attached log, XPIMAppServiceHost.exe.config is the only file that is updated
by the patch.  Is it just a coincidence that only non-versioned files are
updated?

Please let me know where I'm going wrong.  Thanks!

Shawn

...
MSI (c) (3C:2C) [14:40:53:964]: SequencePatches starts. Product code:
{3D25093F-AAB3-4486-B5A4-3FE4981E9A90}, Product version: 3.0.37, Upgrade
code: {DB04AC10-B25F-4D3A-845C-95C13A77351A}, Product language 1033
MSI (c) (3C:2C) [14:40:53:964]: 3.0 patch
\\sdi-sdwyer\ByPass\InstallerTest\XSM123456.msp<file://sdi-sdwyer/ByPass/InstallerTest/XSM123456.msp>is
of type QFE
MSI (c) (3C:2C) [14:40:53:964]: PATCH SEQUENCER: verifying the applicability
of QFE patch \\sdi-sdwyer\ByPass\InstallerTest\XSM123456.msp<file://sdi-sdwyer/ByPass/InstallerTest/XSM123456.msp>against
product code: {3D25093F-AAB3-4486-B5A4-3FE4981E9A90}, product
version: 3.0.37, product language 1033 and upgrade code:
{DB04AC10-B25F-4D3A-845C-95C13A77351A}
MSI (c) (3C:2C) [14:40:53:964]: Validating transform 'RTM.1' with validation
bits 0x922
MSI (c) (3C:2C) [14:40:53:964]: Transform 'RTM.1' is valid.
MSI (c) (3C:2C) [14:40:53:964]: PATCH SEQUENCER: QFE patch
\\sdi-sdwyer\ByPass\InstallerTest\XSM123456.msp<file://sdi-sdwyer/ByPass/InstallerTest/XSM123456.msp>is
applicable.
MSI (c) (3C:2C) [14:40:53:964]: The original #_QFESequence table:
MSI (c) (3C:2C) [14:40:53:964]: PatchGUID:
{ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} ResultantVersion: 3.0.37 PatchFamily:
XPIM30037 Sequence: 3.0.38.0 Type: QFE
MSI (c) (3C:2C) [14:40:53:964]: The pre-sorted #_QFESequence table: - this
is useful to see if patches had been ordered correctly within resultant
versions and patch families
MSI (c) (3C:2C) [14:40:53:964]: PatchGUID:
{ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} ResultantVersion: 3.0.37 PatchFamily:
XPIM30037 Sequence: 3.0.38.0 VersionOrder: 0 SequenceOrder: 0 Type: QFE
...
MSI (c) (3C:2C) [14:40:53:964]: The ordered #_QFESequence table: - has the
final sequence of QFEs.  It lists each PatchGUID only once.
MSI (c) (3C:2C) [14:40:53:964]: PatchGUID:
{ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} ResultantVersion: 3.0.37 PatchFamily:
XPIM30037 Sequence: 3.0.38.0 Order: 0
MSI (c) (3C:2C) [14:40:53:964]: PATCH SEQUENCER: there's no supersedence
information available, so no patches will be superseded.
MSI (c) (3C:2C) [14:40:53:964]: SequencePatches returns success.
MSI (c) (3C:2C) [14:40:53:964]: Final Patch Application Order:
MSI (c) (3C:2C) [14:40:53:964]: {ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} -
\\sdi-sdwyer\ByPass\InstallerTest\XSM123456.msp<file://sdi-sdwyer/ByPass/InstallerTest/XSM123456.msp>
...
MSI (c) (3C:2C) [14:40:53:979]: Baseline: Patch
{ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} modified NewFile.exe with full-file
update.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: First patch for NewFile.exe,
saving native info.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: NewFile.exe version for baseline
at patch Native: 3.0.37.0, 0, 28672.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: Patch
{ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} modified NewFile.exe.config with
full-file update.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: First patch for
NewFile.exe.config, saving native info.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: NewFile.exe.config version for
baseline at patch Native: , , 41557.
...
MSI (c) (3C:2C) [14:40:53:979]: Transforming table MsiFileHash.
MSI (c) (3C:2C) [14:40:53:979]: Note: 1: 2262 2: MsiFileHash 3: -2147287038
MSI (c) (3C:2C) [14:40:53:979]: Baseline: NewFile.exe version for baseline
at patch {ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4}: 3.0.38.0, 0, 28672.
MSI (c) (3C:2C) [14:40:53:979]: Baseline: NewFile.exe.config version for
baseline at patch {ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4}: , , 41632.
...
MSI (s) (44:8C) [14:42:00:496]: Baseline File Table:
MSI (s) (44:8C) [14:42:00:496]: {ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} File:
NewFile.exe ValData: 3.0.38.0 0 28672
MSI (s) (44:8C) [14:42:00:496]: {ED05AF3A-F1E7-4249-A3B7-0D2B6877B2B4} File:
NewFile.exe.config ValData:   41632
MSI (s) (44:8C) [14:42:00:496]: Native File: NewFile.exe ValData: 3.0.37.0 0
28672
MSI (s) (44:8C) [14:42:00:512]: Native File: NewFile.exe.config ValData:
41557
...
Action start 14:42:10: InstallFiles.
MSI (s) (44:8C) [14:42:10:184]: Patch Modified Files List:
MSI (s) (44:8C) [14:42:10:184]: File = NewFile.exe: Final State = Install
MSI (s) (44:8C) [14:42:10:184]: File = NewFile.exe.config: Final State =
Install
MSI (s) (44:8C) [14:42:10:199]: Dumping binary patch manager data...
MSI (s) (44:8C) [14:42:10:199]: The file represented by File table key
'NewFile.exe' has no eligible binary patches
MSI (s) (44:8C) [14:42:10:199]: The file represented by File table key
'NewFile.exe.config' has no eligible binary patches

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Bob Arnson-6

Re: Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
Shawn Dwyer wrote:
> below.  In the example, NewFile.exe and NewFile.exe.config are both in the
> same Component, where NewFile.exe is the keyfile being upgraded from 3.0.37
> to 3.0.38, and NewFile.exe.config has new content but obviously no version
> number.  The results I am seeing is that NewFile.exe.config is replaced by
> the patch, but NewFile.exe remains at 3.0.37.  If you're reading the
> attached log, XPIMAppServiceHost.exe.config is the only file that is updated
> by the patch.  Is it just a coincidence that only non-versioned files are
> updated?
>  

Probably. The logging you provided looks right -- check out the
PatchFiles action to see what MSI actually does.

--
sig://boB
http://joyofsetup.com/



------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Shawn Dwyer

Re: Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
Bob Arnson wrote:           check out the PatchFiles action to see what MSI
actually does.

Thanks Bob.  I couldn't seem to find a PatchFiles action in the log though,
so perhaps that is the problem.  Using Orca I applied my patch to the MSI
and I don't see a PatchFiles in the InstallExecuteSequence table either.
What would cause this not to be included?  Do I need to explicitly sequence
this in my original or update MSI?

Thanks,

Shawn

On Wed, Jun 3, 2009 at 9:54 PM, Bob Arnson <[hidden email]> wrote:

> Shawn Dwyer wrote:
>
>> below.  In the example, NewFile.exe and NewFile.exe.config are both in the
>> same Component, where NewFile.exe is the keyfile being upgraded from
>> 3.0.37
>> to 3.0.38, and NewFile.exe.config has new content but obviously no version
>> number.  The results I am seeing is that NewFile.exe.config is replaced by
>> the patch, but NewFile.exe remains at 3.0.37.  If you're reading the
>> attached log, XPIMAppServiceHost.exe.config is the only file that is
>> updated
>> by the patch.  Is it just a coincidence that only non-versioned files are
>> updated?
>>
>>
>
> Probably. The logging you provided looks right -- check out the PatchFiles
> action to see what MSI actually does.
>
> --
> sig://boB
> http://joyofsetup.com/
>
>
>
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Bob Arnson-6

Re: Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
Shawn Dwyer wrote:
> Thanks Bob.  I couldn't seem to find a PatchFiles action in the log
> though, so perhaps that is the problem.  Using Orca I applied my patch
> to the MSI and I don't see a PatchFiles in the InstallExecuteSequence
> table either.   What would cause this not to be included?  Do I need
> to explicitly sequence this in my original or update MSI?

No, it's only if you use delta patching. Full-file patches are installed
via InstallFiles instead.

--
sig://boB
http://joyofsetup.com/



------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Shawn Dwyer

Re: Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
I worked with MS support and we believe we have resolved this issue.  It
came down to a bug in my original installer where my custom UI was being
shown even when patches were applied.  Apparently this was tweaking some
feature states (although I don't know how or why, and the msiexec log didnt
show anything) that was preventing the file from being installed.  Now that
the UI isn't being shown on patches, the files are all updated as expected.
On Sat, Jun 6, 2009 at 6:17 PM, Bob Arnson <[hidden email]> wrote:

> Shawn Dwyer wrote:
>
>> Thanks Bob.  I couldn't seem to find a PatchFiles action in the log
>> though, so perhaps that is the problem.  Using Orca I applied my patch to
>> the MSI and I don't see a PatchFiles in the InstallExecuteSequence table
>> either.   What would cause this not to be included?  Do I need to explicitly
>> sequence this in my original or update MSI?
>>
>
> No, it's only if you use delta patching. Full-file patches are installed
> via InstallFiles instead.
>
>
> --
> sig://boB
> http://joyofsetup.com/
>
>
>
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Bob Arnson-6

Re: Purely Wix Admin based patch not replacing all files

Reply Threaded More More options
Print post
Permalink
Shawn Dwyer wrote:
> I worked with MS support and we believe we have resolved this issue.  
> It came down to a bug in my original installer where my custom UI was
> being shown even when patches were applied.  Apparently this was
> tweaking some feature states (although I don't know how or why, and
> the msiexec log didnt show anything) that was preventing the file from
> being installed.  Now that the UI isn't being shown on patches, the
> files are all updated as expected.

Typically, they're installed in basic UI mode by a wrapper or silently
by a chainer. (Burn will likely have great support for this scenario.<g>)

--
sig://boB
http://joyofsetup.com/



------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users