LostArtefacts / TRX

Open source re-implementation of Tomb Raider I and Tomb Raider II, along with additional enhancements and bugfixes
https://lostartefacts.dev/
GNU General Public License v3.0
591 stars 37 forks source link

If .NET 6 runtime is not installed, TR1X installer just crashes with no error messaging #1088

Open rhayward2 opened 11 months ago

rhayward2 commented 11 months ago

System Specifics:

Windows 11 Pro 64-bit (10.0, Build 22621) Did not have .NET 6 runtime installed (or was not installed properly, not sure which).

Observed behavior:

  1. Download TR1X-3.0.3-Installer.exe
  2. Unblock the installer (right click -> Properties -> check 'unblock')
  3. Run the executable

The executable runs but nothing happens (no windows open, no errors)

When checking the Windows Event Viewer, the following 2 Application errors show in the logs:

  1. Faulting application name: TR1X-3.0.3-Installer.exe, version: 1.0.0.0, time stamp: 0x6531c3c8
    Faulting module name: KERNELBASE.dll, version: 10.0.22621.2715, time stamp: 0x10f6a783
    Exception code: 0xe0434352
    Fault offset: 0x000000000006565c
    Faulting process id: 0x0x3228
    Faulting application start time: 0x0x1DA221E7A639A28
    Faulting application path: C:\Users\user\Downloads\TR1X-3.0.3-Installer (3).exe
    Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
    Report Id: 04caae74-f4d1-4801-8a7d-5d335a441855
    Faulting package full name: 
    Faulting package-relative application ID: 
  2. Application: TR1X-3.0.3-Installer.exe
    CoreCLR Version: 6.0.121.56705
    .NET Version: 6.0.1
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.IO.FileLoadException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
    File name: 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

Expected behavior: Either the TR1X installer displays an error indicating to the user they need to install/re-install the correct .NET runtime version, or the installer needs to check/install the correct version.

Richard-L commented 11 months ago

.NET independence would be much needed so more people actually use the installer.

lahm86 commented 11 months ago

Running the installer on a fresh Win11 build produces the expected message below. I'm wondering perhaps if you have an older version of .NET installed, or as you say, your installation was somehow corrupted.

image

I think perhaps we could add a note to the installation steps to mitigate this.

Squall-Leonhart commented 11 months ago

If you run a .net application built with the dotnet sdk of a version higher than that installed on the system the application will crash without throwing an error message due to microsoft incompetence.

rhayward2 commented 11 months ago

If you run a .net application built with the dotnet sdk of a version higher than that installed on the system the application will crash without throwing an error message due to microsoft incompetence.

It’s possible this was the case. I did have an older runtime due to doing some DEV work on a .NET core application, I installed the DEV pack. It’s possible it installed an older runtime.

Another possibility is that I just had an older version of the runtime installed from something else.

As soon as I can, I’ll check which .NET DEV packs I have installed