On the rollback point, you still get rollback when RemoveExistingProdcts is 
after InstallFinalize, but probably not the rollback you'd like because it's 
outside of the transacted part of the operation. So the new product installs, 
transaction finishes, then the uninstall of the old product starts. If that 
fails it rolls back too - back to being installed again. Now you have both 
products installed on the system and a big mess on your hands. A better detour 
is to have a sequence InstallExecute, RemoveExistingProducts, InstallFinalize 
at the end because it still does the ref counting "detour" but is inside the 
transaction, so in the event of a failure to uninstall it rolls you back to 
having only the original product on the system. 

The GAC issue is related to assembly identity (its naming attributes) and I 
don't believe file version matters in this particular case (it's not a standard 
naming attribute) and note that the kb article mentions changing 
AssemblyVersion as a detour, not file version. Caveat: I haven't tested whether 
changing File Version solves the problem, I just suspect it may not. 

That bug: Internally, "early" in the install Windows decides that the incoming 
assembly in the new MSI file is "identical" (the naming attributes) to the one 
that's already installed and decides not to install the new one.  It doesn't 
bother to re-evaluate that decision even when RemoveExistingProducts removes 
it. Changing AssemblyVersion makes it different, changing strong name should, 
changing FileVersion "might", dunno. Has that been tested? Jacques maybe? 


Phil Wilson 

-----Original Message-----
From: Jacques Eloff [mailto:repst...@gmail.com] 
Sent: Wednesday, April 06, 2011 11:40 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] GAC File Update

The scheduling just depends on whether you want to perform a full
uninstall/reinstall and whether or not you want rollback support. Scheduling
after InstallInitialize does a full uninstall without rollback support - but
others can correct me.

The important thing is having the file version set. Also, by default, the
MsiAssembly table won't have the file version information, only the assembly
version, so you need to invoke light with the -fv switch to add this
information

On Wed, Apr 6, 2011 at 10:35 AM, Castro, Edwin G. (Hillsboro) <
edwin.cas...@fiserv.com> wrote:

> > Also, take a look at http://support.microsoft.com/kb/905238
> >
> > If the assembly version remains the same, but the assembly file version
> > changes, you will need to schedule RemoveExistingProducts after
> > InstallIntialize
>
> The linked article contradicts the recommendation above to schedule
> RemoveExistingProducts after InstallInitialize:
>
> Use a Windows Installer table-authoring tool to change the sequencing of
> the RemoveExistingProducts action in the InstallExecuteSequence table to
> occur after the InstallFinalize action. For example, use the Orca.exe
> database table editor for creating or editing Windows Installer packages.
>
> After reading the article I understand why it recommends scheduling after
> InstallFinalize. I do not understand why scheduling after InstallInitialize
> accomplishes the same result. Can somebody explain?
>
> Edwin G. Castro
> Software Developer - Staff
> Digital Channels
> Fiserv
> Office: 503-746-0643
> Fax: 503-617-0291
> www.fiserv.com
> Please consider the environment before printing this e-mail
>
> ------------------------------------------------------------------------------
>  Xperia(TM) PLAY
> It's a major breakthrough. An authentic gaming
> smartphone on the nation's most reliable network.
> And it wants your games.
> http://p.sf.net/sfu/verizon-sfdev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at 3rd Floor, 40 Grosvenor Place, London, SW1X 
7AW (Registered number 166023). For a list of European legal entities within 
the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77&nav_id=80&prev_id=77.

You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail 
recept...@invensys.com. This e-mail and any attachments thereto may be subject 
to the terms of any agreements between Invensys (and/or its subsidiaries and 
affiliates) and the recipient (and/or its subsidiaries and affiliates).

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to