If the ProductCode is the same (Minor Upgrade), you can't change directories
AND leave the previous installation in an old directory (there is no
side-by-side installation of more than one instance of the same
ProductCode).

If the ProductCode is different (Major Upgrade), you have to either have the
MSI remove previous installations (without considering the paths) or you
have to have your bootstrapper remove the previous installations (based on
the paths). You can't have MSI remove the old version, but your removing the
old version works the same way as MSI would, do it, AND you can condition
the removal upon successful installation, in addition to adding properties
so that the removal suppresses removal custom actions if needed.

If you use a Major Upgrade on the same installation path, all components
with the same GUID and KeyPath will be left alone when the previous product
is removed, so Major Upgrades with the bootstrapper are the way to go to
meet your requirements.

I don't see how Minor Upgrades could help you (unless you either limit the
number of simultaneous installations OR restrict the installation paths to a
fixed number of possibilities [different twist on the same theme]).

-----Original Message-----
From: Jiang, Chunyan (GE Healthcare) [mailto:chunyan.ji...@ge.com] 
Sent: Thursday, November 12, 2009 1:06 AM
To: General discussion for Windows Installer XML toolset.
Cc: os...@live.com
Subject: AW: [WiX-users] New Entry in Add/Remove Program when upgrade

Hi Blair,

Thanks a lot for your suggestion.

Here I would like to summarize the workflow:

Bootstraper.exe should do the following steps:
* Do the UI, list all installed path, ask user to select one to upgrade
* When one installation is selected, remove this installation (should not
totally remove. There are some files must retain.)
* Call MSI to install new version in this path

MSI should do the following steps:
* Upgrade the selected installation. (Minior upgrade, keep the Product ID,
change the version number)
* Or do the new install as demand

Here I have one question. In my requirement, the selected installation
should not be removed totally. There are some files must be retained. So the
upgrade should not be the "major upgrade", but the "minior upgrade". 

The best way is to make one MSI to define which files are used to upgrade,
which files are not for upgrade. Could you give me some idea how to realize
it?

Regards,

Chunyan



-----Ursprüngliche Nachricht-----
Von: Blair [mailto:os...@live.com] 
Gesendet: Mittwoch, 11. November 2009 18:46
An: 'General discussion for Windows Installer XML toolset.'
Betreff: Re: [WiX-users] New Entry in Add/Remove Program when upgrade

You can do this with one MSI (I don't see how two MSIs would do anything
more than confuse the issue even more) but you have to know BEFORE you start
running the MSI whether you will be upgrading or not. Since that decision
depends on the user's chosen installation path, which is gathered in the UI,
that decision has to be made via UI BEFORE the MSI starts to run. In other
words, drop Windows Installer's UI, and put the UI into your bootstrapping
exe. Your bootstrapper will know your UpgradeCode and will do the same
product enumeration that the Upgrade table enables, and will check the
installation paths of the installed versions the same as your custom action
does, and will remove the old version(s) that match the installation paths
either before or after (more efficient) it installs the upgrading version.

-----Original Message-----
From: Jiang, Chunyan (GE Healthcare) [mailto:chunyan.ji...@ge.com]
Sent: Wednesday, November 11, 2009 6:32 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] New Entry in Add/Remove Program when upgrade

Hi,

I would like to clarify my requirement again. I read thought the WiX
Tutorial 4. And I hope I could develop one setup.msi, which could combine
"Minior upgrades" and "New Install". In my scenario, if updage Version 3 to
Version 1 in PathA, it should do the "Minor upgrades". It doesn't not change
the ProductID. And it only changes the product version and some files, not
totally remove all the last install. 

But if Version 3 installs to a new path, it can act as a new install.

Is it possilbe to do this in one setup.msi? 

If it is not, I want to develop two msi, one is for new install, one is for
update. And use an external executable to decide which msi is called.
However, there are 90% content same in the NewInstall.msi and Update.msi. Is
it possible to create a common part that these two msi can call it?

Best regards,


Chunyan

-----Ursprüngliche Nachricht-----
Von: Jiang, Chunyan (GE Healthcare)
Gesendet: Mittwoch, 11. November 2009 11:24
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] New Entry in Add/Remove Program when upgrade

Hi Blair,

I would like to ask you if I want to realize my scenario, is it possible to
write a custom action to realize removing Version 1? Here I set the main msi
still as OnlyDetect="yes". But when select one install from the dialog
(Version 1) to upgrade, do the removing verion 1 in the custom action. This
custom action only does remove the selected version, don't do the Detect,
therefore don't touch version 2.

Is it possible? And how to realize it?

Regards,

Chunyan

-----Ursprüngliche Nachricht-----
Von: Jiang, Chunyan (GE Healthcare)
Gesendet: Mittwoch, 11. November 2009 10:38
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] New Entry in Add/Remove Program when upgrade

Hi Blair,

Thank you for your explain.

I still have some questions here. My requirement is to have multiple
versions and also be able to upgrade some. In my last email, the Version 3
should be able to upgrade Version1. It means version 1 should be removed.
And Version 2 is kept untouched. 

But now I set OnlyDetect="yes". When I install Version 3 to the path of
Version 1, all these 3 versions stay in the system. And in the future, I
want to show the installed software in the Listbox, and ask user to select
which one to upgrade, there will be 3 items there, same as Add/Remove
Program. It is confused. Version 2 has been upgraded (remove). It should not
be shown there.

Is it possible to realize my requirement? 


Best regards,

Chunyan 

-----Ursprüngliche Nachricht-----
Von: Blair [mailto:os...@live.com]
Gesendet: Freitag, 6. November 2009 15:59
An: 'General discussion for Windows Installer XML toolset.'
Betreff: Re: [WiX-users] New Entry in Add/Remove Program when upgrade

You could try removing OnlyDetect="no" and adding a condition to the
RemoveExistingProducts action. However, then version 3 in your scenario will
remove both versions 1 and 2 (instead of just 1).

Your requirement to leave multiple versions without forcing each to use a
different path is the problem. It doesn't leave you with many options.

-----Original Message-----
From: Jiang, Chunyan (GE Healthcare) [mailto:chunyan.ji...@ge.com]
Sent: Friday, November 06, 2009 1:59 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] New Entry in Add/Remove Program when upgrade

Hi wix-users,
 
I developed one setup msi. And I want it to be upgradable. The requirement
is: 
 
1. Version 1 install to PathA. (New Install) 2. Version 2 install to PathB.
(New Install) 3. Version 3 install to PathA. (Upgrade)
 
The setup meets the requairment. However, when I perform the above actions,
there are 3 items in Add/Remove Program list. Version 1 and Version 3 are in
the same path. Actually there are 2 installs, since version 3 just upgrades
version 2.
 
I consider the reason is that I set
<UpgradeVersion OnlyDetect="yes" Property="PREVIOUSFOUND" ...

Here Onlydetect = "yes". I know if I set OnlyDetect="No", then upgrade will
replace the older version. And there is no old version item in Add/Remove
Program list. But if I set OnlyDetect="No", when I perform second step
(install Version 2 to PathB(New Install)), the system will check last
install (Version 1 in PathA), and remove the files in PathA.
I don't what to break install 1. 

Is there one way to resolve my problem?

 

Regards

 

Chunyan

----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to