Ok, so these are essentially components within your installation. In theory then, one way to accomplish this is to create a 'hidden' feature (perhaps called "JRE") within your application installation that shouldn't install the JRE, and add the same ComponentGroupRef to that feature. Condition the "JRE" feature to only be installed when your upgrade property is present. This way, on a normal installation of this application, the JRE is not installed. When the application with the JRE is installed and subsequently upgraded to the application without the JRE, the JRE components will be ref-counted [not installed] and not removed during the upgrade process [assuming you author an efficient upgrade]. After upgrading, should the user go to ARP and remove this installation, the JRE components will then be un-installed.
Things can get a little cleaner if you have a feature in your application installation that should contain the JRE that itself only installs the JRE [i.e., if you have a feature ID called "JRE"]; as then you should be able to let the MigrateFeatureStates do its magic. Out of total curiosity though, if the user is upgrading to the application that shouldn't contain the JRE, why does the JRE need to hang around? (Especially since, if you uninstall the installation w/JRE through ARP you expect the JRE to be uninstalled?) ________________________________________ From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Thomas Singer [EMAIL PROTECTED] Sent: Thursday, July 10, 2008 3:17 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Keep optional directory on upgrade Thanks for biting. ;) > How does your application installation (the one with JRE) deploy the JRE? As a <ComponentGroupRef Id="componentGroupJre" />. The jre.wxs file is generated using heat using the fragment template and fine tuned with XSLT (adding the <DirectoryRef Id="DIR_INSTALL">...</DirectoryRef> and setting the Id of the ComponentGroup. > What specifically is meant by "with embedded Java Runtime Environment"? In contrast to, for example, the dot-net runtime, the JRE works fine when an installed JRE directory is just *copied* to a new machine (without invoking an installer which adds a myriad of registry keys and fully integrates into the target machine). -- Tom John Nannenga wrote: > This seems a little odd, but what the heck, I'll bite. > > However, since I don't know anything about the Java Runtime Environment, I > need more info. How does your application installation (the one with JRE) > deploy the JRE? Merge modules? Components you authored yourself into your > package? MSI chaining? etc... (What specifically is meant by "with > embedded Java Runtime Environment"?) > > > > > > ________________________________________ > From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Thomas Singer [EMAIL > PROTECTED] > Sent: Thursday, July 10, 2008 9:36 AM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Keep optional directory on upgrade > > After I received so good feed-back for the file-gets-overwritten-problem - > does someone have an idea how to handle this issue? > > -- > Tom > > Thomas Singer wrote: >> Our application is available in two different versions - one with embedded >> Java Runtime Environment (JRE) and one without. The JRE is nothing else than >> a directory in the installation directory (no special registry settings). We >> don't provide special update packages (containing just the differences), but >> instead all packages we provide are complete packages (without thinking >> about the JRE). >> >> When a user first installs a version with JRE and later a new version >> without JRE, the jre-directory is removed/uninstalled. What would be the >> best solution to uninstall the JRE only if the user uninstalls the >> application using Add/Remove, but not when installing a newer version on top? >> >> Thanks in advance, >> Tom > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users