cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
BkSetupDev
Level 4

Some GAC dlls are uninstalled during major upgrade

During a major upgrade from version 3.1.4022.29 to 3.1.4023.114 we discoverd, that some assemblies in the global assembly cache get uninstalled. All our GAC files are marked as permanent. As you see in the attached Screenshots, the assembly versions 3.1.4022.2 of TcXaeVsx.11.0.dll - TcXaeVasx.15.0.dll are not longer present after the major update. TcXaeVsx.dll in version 3.1.4022.2. does not get uninstalled.

We change the assembly and file version in our DLLs as you can see in the screenshots from MSIOrca and ILSpy, too. As we know, this is required, to keep all installed GAC files (https://blogs.msdn.microsoft.com/astebner/2007/02/09/assemblies-may-be-missing-from-the-gac-or-winsxs-cache-after-an-msi-major-upgrade/). We cannot change the uninstall-install-order in our setup as we cannot perform a manual uninstall in major upgrade, because we have to provide silent installations und updates.

In the log files we get the error 1607 (ERROR_UNKNOWN_COMPONENT, The component identifier is not registered) for all TcXaeVsx.*.dll, but not for TcXaeVsx.dll:

MSI (s) (FC:C4) [09:32:06:156]: Entering MsiProvideAssembly. AssemblyName: TcXaeVsx.15.0, Version=3.1.4022.2, Culture=neutral, PublicKeyToken=180016cd49e5e8c3, processorArchitecture=MSIL, AppContext: , InstallMode: -4
MSI (s) (FC:C4) [09:32:06:156]: Pathbuf: 0, pcchPathBuf: 0
MSI (s) (FC:C4) [09:32:06:249]: MsiProvideAssembly is returning: 1607
MSI (s) (FC:C4) [09:32:06:249]: Entering MsiProvideAssembly. AssemblyName: TcXaeVsx.15.0, Version=3.1.4022.2, Culture=neutral, PublicKeyToken=180016cd49e5e8c3, processorArchitecture=MSIL, AppContext: , InstallMode: -4
MSI (s) (FC:C4) [09:32:06:249]: Pathbuf: 0, pcchPathBuf: 0
MSI (s) (FC:C4) [09:32:06:327]: MsiProvideAssembly is returning: 1607
MSI (s) (FC:C4) [09:32:06:327]: Entering MsiProvideAssembly. AssemblyName: TcXaeVsx.15.0, Version=3.1.4022.2, Culture=neutral, PublicKeyToken=180016cd49e5e8c3, processorArchitecture=MSIL, AppContext: , InstallMode: -4
MSI (s) (FC:C4) [09:32:06:327]: Pathbuf: 0, pcchPathBuf: 0
MSI (s) (FC:C4) [09:32:06:421]: MsiProvideAssembly is returning: 1607
MSI (s) (FC:C4) [09:32:06:421]: Entering MsiProvideAssembly. AssemblyName: TcXaeVsx.15.0, Version=3.1.4022.2, Culture=neutral, PublicKeyToken=180016cd49e5e8c3, processorArchitecture=MSIL, AppContext: , InstallMode: -4
MSI (s) (FC:C4) [09:32:06:421]: Pathbuf: 0, pcchPathBuf: 0
MSI (s) (FC:C4) [09:32:06:514]: MsiProvideAssembly is returning: 1607
MSI (s) (FC:C4) [09:32:06:514]: Entering MsiProvideAssembly. AssemblyName: TcXaeVsx,Version="3.1.4022.2",PublicKeyToken="180016CD49E5E8C3",Culture="neutral",FileVersion="3.1.4022.9",ProcessorArchitecture="MSIL", AppContext: , InstallMode: -4
MSI (s) (FC:C4) [09:32:06:514]: Pathbuf: 0, pcchPathBuf: 0
MSI (s) (FC:C4) [09:32:06:608]: Using cached product context: machine assigned for product: ECA9F3C55022584439EA4068C23A361F
MSI (s) (FC:C4) [09:32:06:608]: MsiProvideAssembly is returning: 0

 When we change the component GUIDs for TcXaeVsx.*.dlls in 3.1.4023.114, not GAC files gets uninstalled. Why does it seems to be required for some GAC files but not for all GAC files?

Labels (1)
0 Kudos
(2) Replies
banna_k
Revenera
Revenera

0 Kudos

Hallo @banna_k thank you for your reply. As I mentioned in my post, those are no valid options for us. We cannot rearrange the Uninstall-Install-order as we cannot perform a manual uninstallation as wie would loose the ability to perform silent major upgrades.
0 Kudos