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