The always overwrite flag in InstallShield just sets the FileVersion column to 
65535.0.0.0. WiX has the DefaultVersion field, which should duplicate the 
experience. Alternatively, just modify the MSI post-build for this one-off. It 
would be easier if you were not using an assembly file because you could just 
author a RemoveFile table entry associated with the component and it would 
actually cover all bases. But I'm not sure RemoveFile or RemoveFileEx can help 
you with assemblies - seems like the answer is "No". 

Down-versioning files is always a rough experience. The third party case is 
always an especially nasty one; sometimes that's where something like Burn 
might be able to help or a custom bootstrapper to just purge the old version 
before-hand giving you a clean slate.

-----Original Message-----
From: kirannhegde [mailto:kirann.he...@gmail.com] 
Sent: Monday, April 21, 2014 11:30 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Major upgrade removing files

Hello , 

Here is my scenario: 

A  higher version installer contains lower version of certain binaries . In
the higher versioned installer,  sequencing   "RemoveExistingProducts" 
after  "InstallInitialize"  results in missing files.  This is an issue with 
Windows  Installer service and has been around  since 2002. 

I see the following entires in the log file: 

Here is a snippet from the  Merlin RTM windows installer log file: 
MSI (s) (48:F0) [07:39:20:997]: skipping installation of assembly component:
{3C582984-7607-3E35-A337-D3D327097351} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:001]: skipping installation of assembly component:
{6D321E57-3E99-3B87-BF23-2CDFF3361CB4} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:003]: skipping installation of assembly component:
{229E8F96-1AE0-32E6-8428-D2CBCA122740} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:006]: skipping installation of assembly component:
{AE56AAF5-F3C0-3D4B-8859-A1E50A3E27BF} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:024]: Disallowing installation of component:
{4D2EB851-13AC-500F-9704-AB78102F8D0F} since the same component with higher 
versioned keyfile exists MSI (s) (48:F0) [07:39:21:029]: skipping installation 
of assembly component:
{F2F5F3C2-7A2E-58A8-81FB-6D05B2446DC5} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:032]: skipping installation of assembly component:
{084F57E8-E40B-5B1E-AABC-7F0A7B77D223} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:035]: skipping installation of assembly component:
{5DF9A9B3-8FBE-57C1-95AE-D08C44084A77} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:041]: skipping installation of assembly component:
{F703FAD2-5314-5C11-B7B3-AA960D6CB678} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:043]: skipping installation of assembly component:
{FB288044-FD6A-5A2C-BE23-BD941E55B184} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:046]: skipping installation of assembly component:
{7DF41602-3F0E-5FED-BC1B-3E55EB39E439} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:049]: skipping installation of assembly component:
{F1A4761C-24F2-5A42-9BAE-B9E3AFFA9F51} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:056]: skipping installation of assembly component:
{9ED4023C-789C-5FB2-B8AD-19FE3B0B816F} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:195]: skipping installation of assembly component:
{EA346F23-593F-5D59-9605-5B764FC05873} since the assembly already exists MSI 
(s) (48:F0) [07:39:21:199]: skipping installation of assembly component:
{3CAED2EB-627D-52F7-AD44-7138E03EE961} since the assembly already exists 



To solve this, i have come across the following suggestions: 
-Schedule  "RemoveExistingProducts" earlier  in the   sequence, even before
costing i.e before CostInitialize.However, doing that violates  the guidelines 
laid out by MSDN. MSDN suggests a sequencing between InstallValidate and 
Install Initialize as one of the positions. 
InstallValidate is sequenced after costing. Hence, even though this solution 
might work,  this is a violation of  Microsoft rules 

-Use REINSTALLMODE = emus 

-Force the file to be always overwritten -  Not feasible for Wix. Only exists 
in InstallShield 

-Version - Handle the versions properly in the higher versions of the 
installer. 


I agree that  having higher versions of the files in the higher versioned 
installer is the easiest and safest approach.  However, there could be genuine 
cases where you  might want to include lower versions of certain binaires in a 
highver verison of your product.  This is common with third
party binaries.   


So how do you think that this should be handled? 


As usual, any assistance is very much appreciated. 



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Major-upgrade-removing-files-tp7594245.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform Build your Enterprise 
Intranet with eXo Platform Software Java Based Open Source Intranet - Social, 
Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A 
Collaboration Platform http://p.sf.net/sfu/ExoPlatform 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are 
intended
exclusively for the individual or entity to which it is addressed. The message, 
together with any attachment, may contain confidential and/or privileged 
information.
Any unauthorized review, use, printing, saving, copying, disclosure or 
distribution 
is strictly prohibited. If you have received this message in error, please 
immediately advise the sender by reply email and delete all copies.


------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to