[wix-users] some files not installing on upgrade... [P]

Hoover, Jacob Jacob.Hoover at greenheck.com
Tue Jan 24 14:33:41 PST 2017


Are your component rules being followed? 

        <!-- Prevent us from breaking the rules.  If we do, the patches will fail instead of corrupting. -->
        <!-- http://robmensching.com/blog/posts/2007/1/4/Doing-a-small-update-or-minor-upgrade-in-MSI-Use -->
        <Property Id="MSIENFORCEUPGRADECOMPONENTRULES" Value="1" />

What are the FILE versions (not to be confused with assembly version) between the two installs of the "same" files?  Are the component ID's identical? From the logs, it looks like "Other clients exist, but installed to a different location" is telling us you have a shared component that you moved.

https://blogs.msdn.microsoft.com/heaths/2010/04/09/major-upgrades-with-shared-components/

If you schedule RemoveExistingProducts later, however, you must consider the impact of shared components. This is because until RemoveExistingProducts actually executes, two or more products with the same components are installed. And since you should never change the GUID of a component that shares the same installation location, that means there are now shared components - components with a reference count of two or more (depending on how many products have installed those components to the same locations).

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steven Ogilvie
Sent: Tuesday, January 24, 2017 11:28 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] some files not installing on upgrade... [P]

Classification: Public
Yes I have verbose logging turned on :)

So just did an upgrade from our 4.6 product to 4.7 of one of our clients...
Install/uninstall works fine
Install 4.6 then upgrade 4.7 7 files are missing, here is logging of 1 file log4net.dll that is missing after upgrade...

In 4.6 the version of log4net.dll is: 1.2.11.0 In 4.7 the version of log4net.dll is: 1.2.15.0

>From the installer logfile:

On upgrade the MSI from 4.6 TMC client has this in it's logfile:
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\HtmlAgilityPack.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\Microsoft.Win32.TaskScheduler.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\Titus.Common.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\Titus.Runtime.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\Titus.Domain.Types.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
MSI (s) (2C:80) [10:52:48:298]: Allowing uninstallation of shared component: {CB08ECF2-0F34-4324-BD22-0C1A6E042252}. Other clients exist, but installed to a different location MSI (s) (2C:80) [10:52:48:298]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\log4net.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).

MSI (s) (2C:80) [10:52:48:313]: Component: cmp_Log4Net; Installed: Local;   Request: Absent;   Action: FileAbsent
MSI (s) (2C:80) [10:52:48:313]: Component: cmp_TitusDomainTypes; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (2C:80) [10:52:48:313]: Component: cmp_TitusRuntime; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (2C:80) [10:52:48:313]: Component: cmp_Titus.Runtime.Resources; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (2C:80) [10:52:48:313]: Component: cmp_TitusCommonDll; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (2C:80) [10:52:48:313]: Component: cmp_TaskScheduler; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (2C:80) [10:52:48:329]: Component: cmp_HtmlAgilityPack; Installed: Local;   Request: Absent;   Action: Absent

Then in the 4.7 log file:

MSI (s) (2C:20) [10:50:09:509]: Component: cmp_Log4Net_TMC; Installed: Absent;   Request: Local;   Action: Local

MSI (s) (2C:20) [10:51:16:008]: Executing op: ComponentRegister(ComponentId={915EDDFD-FEC3-4E30-A5FE-DF7B0DA2919},KeyPath=C:\Program Files (x86)\TITUS\TITUS Plugins\log4net.dll,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0)
MSI (s) (2C:20) [10:51:16:008]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Plugins\log4net.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).
The above log4net is installed...

MSI (s) (2C:20) [10:51:16:070]: Executing op: ComponentRegister(ComponentId={1D986C2A-F30D-4816-AF2B-5C3DF07ECD5B},KeyPath=C:\Program Files (x86)\TITUS\TITUS Message Classification\log4net.dll,State=3,,Disk=1,SharedDllRefCount=2,BinaryType=0)
MSI (s) (2C:20) [10:51:16:070]: WIN64DUALFOLDERS: Substitution in 'C:\Program Files (x86)\TITUS\TITUS Message Classification\log4net.dll' folder had been blocked by the 1 mask argument (the folder pair's iSwapAttrib member = 0).

MSI (s) (2C:20) [10:51:16:790]: Executing op: RegisterSharedComponentProvider(,,File=file_log4net_TMC,Component={1D986C2A-F30D-4816-AF2B-5C3DF07ECD5B},ComponentVersion=1.2.15.0,ProductCode={4BD3B8A4-8551-42C0-83AC-212ABA70B074},ProductVersion=16.9.7,PatchSize=0,PatchAttributes=0,PatchSequence=0,SharedComponent=0,IsFullFile=0)

MSI (s) (2C:20) [10:51:16:804]: Executing op: FileCopy(SourceName=log4net.dll,SourceCabKey=file_log4net_TMC,DestName=log4net.dll,Attributes=512,FileSize=304640,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.2.15.0,Language=0,InstallMode=58982400,,,,,,,)
MSI (s) (2C:20) [10:51:16:804]: File: C:\Program Files (x86)\TITUS\TITUS Message Classification\log4net.dll;	Overwrite;	Won't patch;	Existing file is a lower version
MSI (s) (2C:20) [10:51:16:804]: Source for file 'file_log4net_TMC' is compressed MSI (s) (2C:20) [10:51:16:804]: Re-applying security from existing file.
MSI (s) (2C:20) [10:51:16:804]: Verifying accessibility of file: log4net.dll


Does anyone see why this file is not being replaced on upgrade?

Here is my major upgrade element

  <MajorUpgrade DowngradeErrorMessage="A newer version of $(var.PlatformProductName) is already installed. Setup will now exit." Schedule="afterInstallValidate" AllowDowngrades="no"/>

A long thread sorry...

Steve





This message has been marked as Public by Steven Ogilvie on January 24, 2017 12:28:03 PM. Classification provided by TITUS. 


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Ampian, Teddy
Sent: January 18, 2017 4:50 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] some files not installing on upgrade...

Hi Steve,

This list is here to provide help - thank you for your patience through this process.

Would you please confirm that verbose logging is turned on?

You can do so with the following: 
<Property Id="MsiLogging" Value="v" />

Source: http://stackoverflow.com/questions/35774339/

Cheers,
Teddy

---
Teddy Ampian
Software Engineer
Boston Scientific
MG Ops EEG Data Management
teddy.ampian at bsci.com
Two Scimed Pl, Maple Grove, MN 55311
www.bostonscientific.com

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steven Ogilvie
Sent: Wednesday, January 18, 2017 03:17 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] some files not installing on upgrade...
[Steven Ogilvie]
Sigh....

I am under a lot of stress and management asking me to fix the upgrade...

I have added a very detailed email about how it was, what it is like now...

As well as 3 features have the same components and 2 features install those components but the 3rd feature does NOT

I was hoping that someone had some expertise and/or knowledge on where to look...

I have been looking at the logs...

Thanks,

Steve


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Blair Murri
Sent: January 18, 2017 1:49 PM
To: Steve Ogilvie <SOGILVIE at msn.com>; WiX User List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] some files not installing on upgrade...

Verbose logs tell all...



Sent from my Windows 10 phone



From: Steve Ogilvie<mailto:SOGILVIE at msn.com>
Sent: Tuesday, January 17, 2017 2:27 PM
To: WiX User List<mailto:wix-users at lists.wixtoolset.org>
Subject: [wix-users] some files not installing on upgrade...
Importance: High



Hi all,

I have fixed the issue of the install/uninstall of my 'new' MSI's (a 32 bit and a 64 bit) that I "merged" from 6 MSI's from my last RTM release i.e. 4.6 and now I am working on 4.7 release.

We wanted to go from 6 MSI's down to 1 (well 2, 1 for 32 bit and 1 for 64 bit)...

Within the 'new' MSI are a few features:
1. Client Service
2. Plugins
3. Another Service
4. 3 Clients, i.e. ClientX, ClientY, ClientZ

The first 3 features are installed per the bitness of the OS (and 1 of the Clients) and the 2 other client features are installed on the basis of the bitness of Office.
So the BootStrapper will determine which of the 2 MSI's to run or to run both...
i.e. if a 64 bit OS but Office is 32 bit then both MSI's will run...

I had 3 client MSI's (and the Client Service MSI) and each of those Client MSI's had used 4 WiX library's and used a WixLibRedirectFolder in the product.wxs i.e.
<Directory Id="CLIENT_PATH" DiskId="1">
  <Directory Id="WixLibRedirectFolder">

and inside the library.wxs was:
i.e.
<ComponentGroup Id="cmpgrp_Log4Net" Directory="WixLibRedirectFolder">

Since I can't have multiple WixLibRedirectFolder in 1 MSI I ended up using the WiX library's for the Client Service feature...

Then for the 3 Client features I added the 7 components that were in the 4 WiX library's but renamed the components/File elements as cmp_Blah_ClientX, file_Blah_ClientX and ClientY and ClientZ and of course change the GUIDS for each component...

The weird thing, is that on an upgrade the 2 client features i.e. ClientX and ClientY install those 7 components but Feature ClientZ doesn't...

All 3 feature have the exact same 7 component/file elements and of course their own unique components... Each of the Client features are installed to a different folder...

Any idea why this is happening??

thanks,

Steve


___________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list