oleg-shilo / wixsharp

Framework for building a complete MSI or WiX source code by using script files written with C# syntax.
MIT License
1.12k stars 175 forks source link

Could not load file or assembly after update from 2.3.2 to 2.4.1 #1659

Closed julajus closed 1 month ago

julajus commented 1 month ago

Hello, I am developing custom UI setup project with WPF on 4.7.2 .net I am using Caliburn.Micro (4.0.212) and WixSharp_wix.bin (2.3.2) nugets. When updating WixSharp_wix.bin to 2.4.1, msi file builds, but running it throws error (could not load Caliburn.Micro):

Setup_error
Torchok19081986 commented 1 month ago

morning, First , Calibun.Micro is not maintanence anymore. Support was ended. Oleg dropped or want to drop this MVVM in WPF for suche problems. You can use any MVVM Framework that you want. For example : if you want that your installer moder and nice looking, you can use Avalonia WPF C#. there also supoort for .NET Framework, not only NET 6+. For mainly use MVVM in your WPF Template, you can use community toolkit from MS (in past was name MS Toolkit). https://learn.microsoft.com/de-de/dotnet/communitytoolkit/mvvm/observableobject - for Community toolkit. https://docs.avaloniaui.net/docs/concepts/the-mvvm-pattern/avalonia-ui-and-mvvm - for avalonia UI and MVVM. You choice and basically , it effort, that you want do for installer. best regards, Torchok.

julajus commented 1 month ago

I want to use Prism, but having same issue, same error, when added this nuget. So tried with Caliburn, to properly reproduce problem.

Torchok19081986 commented 1 month ago

AFAIK , prism use own mvvm framwork, Brian Lagunas did very good job with prism. You can try to create test project and remove all caliburn.micro refences from wixsharp. After this you got all error , where you have to add new mvvm framework. This approach need some time, but with this way you can achieve all what you want. I did same for get rid of caliburn.micro mmvm framework and added community toolkit.

julajus commented 1 month ago

Already did it, error is the same (when running msi after successfull build):

Setup_error

My project looks like that:

Project
Torchok19081986 commented 1 month ago

sofar i see, you use wix-v4, this change all. wixsharp v4 do AOT Compilation. In basic form, it works, but with all breaking changes of wixsharp. it hard to say, where you have to add your prism pckage. There is sample of oleg with wixsharp-v4 Template with code. Maybe this can give you some idea. After this, unfortunatelly, only oleg can tell you, whats worng.

for example link : https://github.com/oleg-shilo/wixsharp/blob/wix-v4-master/Source/src/NET-Core/Sample/CustomUI-WinForms/Setup/Program.cs


project.AddUIProject("Setup.UI");

codeline and also project.DefaultDefferedAssemlies.Add("path to your dll"), could be important.

julajus commented 1 month ago

At last, after searching to similar issues, found solution in: https://github.com/oleg-shilo/wixsharp/issues/1128#issuecomment-1062821120

In my case this made the trick:

project.DefaultRefAssemblies.Add(typeof(Prism.Mvvm.BindableBase).Assembly.Location);

Thank You, can close ticket

Torchok19081986 commented 1 month ago

good , if this works, but cant clsoe ticket. 😄😄😄.