GPU-Reshape icon indicating copy to clipboard operation
GPU-Reshape copied to clipboard

Install .NET dialog does not work

Open alvar-ava opened this issue 1 year ago • 12 comments

When starting GPU Reshape.exe without the correct .NET installed, there is a dialog asking to install .NET. Pressing Yes or No both result in nothing happening. Not sure if it's supposed to open a web page or windows update or similar.

A suggestion would be to list the version of .NET that's needed in the dialog box, then it would be straighforward to find it myself. image

alvar-ava avatar Jan 19 '24 09:01 alvar-ava

What version is required? I can't run it.

SimpsonGSD avatar Jan 19 '24 13:01 SimpsonGSD

Installing .NET 5.0.17 desktop runtime resolved this issue for me.

nixxes-mbouterse avatar Jan 19 '24 14:01 nixxes-mbouterse

Hi all,

Please see the /Redist folder in the release package, it currently lists the .NET SDK 5.0 runtimes as a dependency. https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-5.0.408-windows-x64-installer

This should definitely be more clear, and the dialogue is insufficient here, particularly as it does not appropriately redirect. I'll see to fixing this.

I'll use this issue going forward to track the problem.

miguel-petersen avatar Jan 19 '24 15:01 miguel-petersen

Small update on the above.

So this particular message isn't from GPU Reshape itself, but instead the SDK it was built with. There are a couple of reports out there mentioning the same issue, where the buttons don't actually do anything, unfortunately without easy or relevant fixes. I'll continue searching a bit.

I also have the option of pursuing self-contained builds where the .NET runtimes are embedded within. Quick tests proved a little cumbersome with the current set up, but should be possible nonetheless.

If it was up to me I'd replace the dialog with my own, but I am not sure that is possible. Bootstrapping the app with my own ".NET checker" is a possibility, but far from standard.

For the time being the workaround is to install the .NET SDK linked above. If anyone is unable to launch the application with it installed, please do say so, happy to help.

miguel-petersen avatar Jan 19 '24 23:01 miguel-petersen

Branch issue/48-net-install now uses .NET self-contained builds. The only big note is that .NET 6.0 was required due to some fixes, however, with it being self-contained it shouldn't matter. See above commit for details.

When proven stable, I'll bring it back to main.

miguel-petersen avatar Jan 21 '24 01:01 miguel-petersen

It is also not listed on https://gpuopen.com/gpu-reshape/#requirements as one of the requirements. Which makes it a bit confusing if you come from the website.

Hjaltesorgenfrei avatar Jan 25 '24 13:01 Hjaltesorgenfrei

That's an great point. Will get it added.

miguel-petersen avatar Jan 25 '24 13:01 miguel-petersen

@Hjaltesorgenfrei Both the product page and blog post have been updated.

miguel-petersen avatar Jan 25 '24 19:01 miguel-petersen

Avalonia v0.11 should support NativeAOT, so if possible publishing it as NativeAOT could solve it as there should be no more runtimes needed; although NativeAOT does have a lot of limitations.

PerfectlyFineCode avatar Jan 27 '24 03:01 PerfectlyFineCode

@PerfectlyFineCode Yeah NativeAOT is something I considered, however, the limitations get in the way at the moment. Specifically:

  • No dynamic loading. All features (resource bounds, etc.) are dynamically loaded plugins
  • No C++/CLI. I make use of /CLI for binding code. Something I might change in the future.

To me, the self contained builds seem like the way forward, though it produces a large amount of DLLs. I could merge them, or pursue single file deployments.

miguel-petersen avatar Jan 27 '24 12:01 miguel-petersen

Much needed update to this thread.

The development branch now uses the .NET 8 SDK, which greatly improves that check, and should navigate correctly to the download. Plus a bunch of other changes and new additions. Validated it in a fresh windows installation (VM).

I did make attempts at single file publishing, and embedding the native libraries into it (to avoid installing the desktop runtimes), but I had some issues with some assemblies. I'll shelf that for now, but might bring it back later since it'd make things a bit more tidy.

I'll all be part of an upcoming release, which should be quite soon. 🙂

miguel-petersen avatar Aug 08 '24 18:08 miguel-petersen

Hey, the current release features .NET 8, so hopefully this should be resolved.

I may investigate single file publishing and AOT in the future, but the current setup appears reliable.

miguel-petersen avatar Oct 17 '24 20:10 miguel-petersen