[wix-users] Installation of assembly into GAC isn´t forced by WIX

Rob Mensching rob at firegiant.com
Thu Jun 21 01:18:53 PDT 2018


The GAC is not my bailiwick but couple things to keep in mind on your journey:

> But it looks like that wix internally does not force the installation of the assembly into the GAC (pretend that the older version is already present).

The WiX Toolset is not responsible for the installation of files to the GAC. The Windows Installer does that, you'll want to follow up with them if you want their behavior to change.

> Of course we could install these assemblies via gacutil in a deferred custom Action

Note, gacutil is not a redistributable piece of the NETFX SDK and is not to be used in this way.

Maybe publisher policy???
_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/


-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Andreas Buchner via wix-users
Sent: Thursday, June 21, 2018 1:10 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Andreas Buchner <Andreas.Buchner at inloox.com>
Subject: [wix-users] Installation of assembly into GAC isn´t forced by WIX

Hello everyone,



we have a little bit complex issue with the deployment of EntityFramework.dll and EntityFramework.SqlServer.dll. I assume that already someone else must have seen this error. So let me explain it:



  *   Since our new major version we´re using EntityFramework in version 6.2.0, in the previous versions we had 6.1.3 (we need the Async Methods of EF6)
  *   We only installed the assemblies (EntityFramework.dll and EntityFramework.SqlServer.dll) into our install location, not into the GAC.
  *   Unfortunately Microsoft didn´t change the AssemblyVersion of these assemblies between the two versions (it´s always 6.0.0.0). We don´t have an idea why they did this...
  *   Due to our research the default assembly loading behavior of the .Net Framework is to prefer assemblies from the GAC if they have the same assembly version
  *   We now have some customers which already have the older version (6.1.3) in their GAC (likely from another application) and so .Net prefers this file. As soon as we try the access some of the new EF Methods (like .ToListAsync()) we receive a "Method not found" exception.
  *   We changed our wxs file that the EF assemblies get installed into the GAC (attribute Assembly=".net" on the file-element). But it looks like that wix internally does not force the installation of the assembly into the GAC (pretend that the older version is already present).
  *   So the assembly doesn´t get updated and we still have the same issue.



Of course we could install these assemblies via gacutil in a deferred custom Action, but obviously that´s a bad solution.



So:

Any ideas on this?



Thanks!



Andreas


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



More information about the wix-users mailing list