Thanks for the responses.

When folks on the dll state that FindRelatedProducts and RemoveExistingProducts 
"only runs the first time the product is installed" do they mean only the first 
time a specific msi version of a product is installed? Put another way if I 
having nothing on the system and run the v1.0 msi FindRelatedProducts and 
RemoveExistingProducts run with the latter only running if I have explicitly 
added it to my InstallExecuteSequence.

Now I come along and on that same system with v1.0 installed run the v1.1 msi 
in which case is this considered the first time the v1.1 product is being 
installed or the second time the vwhatever release of the given product is 
being installed.

As for components/custom actions I don't want to rerun during the second pass 
such as database create, script and related custom actions sounds like if I get 
my v1.1 minor upgrade msi and v1.1 minor upgrade patch msp output correct I 
don't explicitely have to worry about them provided in the case of components 
that their KeyPath is properly detected during the upgrade or patch processing 
and in the case of custom actions I've have the correct install pass only 
feature & component state conditions in place.  Is that a correct assumption.


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Nannenga
Sent: Thursday, September 11, 2008 1:18 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] does inclusion of msi minor upgrade wix sources in 
v1.1 msi block the ability to also generate v1.0 -> v1.1 patch msp minor 
upgrade msp wix sources

FindRelatedProducts:  
http://msdn.microsoft.com/en-us/library/aa368600(VS.85).aspx ... only runs the 
first time the product is installed.  As so, I don't believe it executes during 
a patch scenario (so it wouldn't be relevant).

That is also documented as being true for RemoveExistingProducts (only runs the 
first time the product is installed); so not relevant for a patch scenario.


Having never delivered a small update or minor upgrade with an MSI, I can't 
answer those questions.  Hopefully folks with experience in this area will 
chime in.


Regarding all v1.0 product components not conditioned with an 
UPDATINGPRODUCTCODE setting will be removed; I'm not familiar with that.  The 
way I've understood placement of RemoveExistingProducts post InstallFinalize 
has to do with component rules:

Simple example:

V1.0 Installs:
        Foo.dll v1.2.0
        Foobar.dll      v1.2.0

V2.0 Installs:
        Foo.dll v1.2.3



When V1.0 is installed, Foo.dll and Foobar.dll are installed.

When the upgrade to V2.0 is performed, Foo.dll is updated to v1.2.3 and the 
ref-count is incremented for the component.  InstallFinalize takes place, then 
the removal of V1.0 takes place.  Foo.dll's component is de-refcounted but 
since a product is still using it (V2.0) the file remains (v1.2.3).  Foobar.dll 
gets removed.

Custom actions should determine what to do based upon a related component 
state.  If you had a DB removal action tied to the removal of Foo.dll, in the 
above scenario that action would be not executed (if it was conditioned upon 
Foobar.dll, it would be executed).


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Robert O'Brien
Sent: Thursday, September 11, 2008 2:20 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: [WiX-users] does inclusion of msi minor upgrade wix sources in v1.1 
msi block the ability to also generate v1.0 -> v1.1 patch msp minor upgrade msp 
wix sources

Does inclusion of msi minor upgrade wix sources in v1.1 msi block the ability 
to also generate patch msp minor upgrade msp wix sources?

For example does having the following product.wxs sources prevent me from also 
being able to generate a v1.0 -> v1.1 patch msp minor upgrade msp wix sources?

    <Upgrade Id="D1652FA2-32AC-4D5B-8DCF-5DF11FE128BA">
            <UpgradeVersion Minimum="1.1.0.0" IncludeMinimum="no" 
OnlyDetect="yes" Property="NEWERVERSIONFOUND" />
            <UpgradeVersion Minimum="1.0.0.0" IncludeMinimum="yes" 
Maximum="1.1.0.0" IncludeMaximum="no" Property="OLDERVERSIONFOUND" />
    </Upgrade>

    <CustomAction Id="PreventDowngrading" Error="Newer version already 
installed." />
    <CustomAction Id="SetUpgradeReInstallProperty" Property="REINSTALL" 
Value="all" />
    <CustomAction Id="SetUpgradeReInstallModeProperty" Property="REINSTALLMODE" 
Value="vomus" />

    <InstallUISequence>
        <Custom Action="PreventDowngrading" 
After="FindRelatedProducts">NEWERVERSIONFOUND</Custom>
    </InstallUISequence>

    <InstallExecuteSequence>
        <Custom Action="PreventDowngrading" 
After="FindRelatedProducts">NEWERVERSIONFOUND</Custom>
        <Custom Action="SetUpgradeReInstallProperty" 
After="FindRelatedProducts">OLDERVERSIONFOUND</Custom>
        <Custom Action="SetUpgradeReInstallModeProperty" 
After="FindRelatedProducts">OLDERVERSIONFOUND</Custom>
        <RemoveExistingProducts After="InstallFinalize" />

Also evertying I read about the <RemoveExistingProducts After="InstallFinalize" 
/> action suggests that it causes all v1.0 product components not conditioned 
with an UPDATINGPRODUCTCODE setting to be removed after the v1.1 release has 
been installed provided REINSTALL=all REINSTALLMODE=vomus are set.    What is 
really confusing me about this is if that's the case how do all these minor and 
major upgrade server deliverable msi's work that take you from a prior release 
to the next release w/o doing things like dropping databases or iis site and 
vdir settings during minor/major upgrade processing?
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to