0

Previously my application was build on .net framework 4.8 and the setup has done by using wix toolset version 3.11.2 . due to some reason we have migrated some of the component into .net .standard 2.0 and one of the project in to .net 6 because it was a console application. and we are able to build and the application using visual studio.

in wix .msm file we have setup the assemblies like this .

<Component Id="_COMP_Data_UI_dll" Guid="{b55258eb-3a2a-4575-afd1-1385beb03c01}">
            <File Id="_FILE_Data_UI_dll" Name="Data.UI.dll" KeyPath="yes"  Assembly=".net" AssemblyManifest="_FILE_Data_UI_dll" AssemblyApplication="_FILE_Data_UI_dll" DiskId="1" Source="$(var.SourceDir)\Data.UI.dll" />
        </Component>

since .net 6 doesn't support AssemblyManifest, Assembly attributes in wix I have removed those attributes.

<Component Id="_COMP_Data_UI_dll" Guid="{b55258eb-3a2a-4575-afd1-1385beb03c01}">
   <File Id="_FILE_Data_UI_dll" Name="Data.UI.dll" KeyPath="yes" DiskId="1" Source="$(var.SourceDir)\Data.UI.dll" /> 
</Component>

now when I create the setup ,I am able to create and after installation , but i got a message that Could not load type 'System.Object' from assembly 'System.Runtime.dll version 6.0.0.0" in the event viewer if add the 'System.Runtime.dll" in to gac then it shows unable to to System.Private.CoreLib.dll.

enter image description here

so the problem is both .net framwork and .net 6 are belongs to one .msm file and that msm has taken in .msi file and that msi has take in bootstarper by using Msipackage tag , so is it possible to keep .net framework and .net 6 in one msm so that two types of runtime.dll can run those two types of assembly as per the request.

0 Answers0