NiyaShy / XB1ControllerBatteryIndicator

A tray application that shows a battery indicator for an Xbox-ish controller and gives a notification when the battery level drops to (almost) empty.
GNU General Public License v2.0
710 stars 53 forks source link

Windows 8 (8.1) support #50

Closed clorophilla closed 3 years ago

clorophilla commented 3 years ago

I still can't get the app to work on my machine.

As soon as I try to open it, I see the crash screen. Here is the window information (in Portuguese, but the important stuff is universal, I guess):

Assinatura do problema: Nome do Evento de Problema: CLR20r3 Assinatura do Problema 01: XB1ControllerBatteryIndicator Assinatura do Problema 02: 1.3.1.0 Assinatura do Problema 03: 5f15ebc7 Assinatura do Problema 04: mscorlib Assinatura do Problema 05: 4.8.4261.0 Assinatura do Problema 06: 5f4ff22c Assinatura do Problema 07: 3bff Assinatura do Problema 08: 14 Assinatura do Problema 09: System.MissingMethodException Versão do sistema operacional: 6.3.9600.2.0.0.256.48 Identificação da Localidade: 1046 Informações Adicionais 1: 5861 Informações Adicionais 2: 5861822e1919d7c014bbb064c64908b2 Informações Adicionais 3: 9d53 Informações Adicionais 4: 9d539ab2d38cfad867f683ba4be72a2d

Here's the Event Log issue:

System Provider [ Name] Application Error EventID 1000 [ Qualifiers] 0 Level 2 Task 100 Keywords 0x80000000000000 TimeCreated [ SystemTime] 2020-11-19T08:32:32.000000000Z EventRecordID 2410 Channel Application Security EventData XB1ControllerBatteryIndicator.exe 1.3.1.0 5f15ebc7 KERNELBASE.dll 6.3.9600.19724 5ec50c3e e0434352 000156e8 234 01d6be4e85a37fe5 C:\Windows\SYSTEM32\KERNELBASE.dll c3e4106b-2a41-11eb-826a-001986003c65

I have Windows 8.1 Pro, also tested on 7 and fresh copies of both systems. On Windows 10, works just fine.

Is there anything you or I can do?

NiyaShy commented 3 years ago

Hey, I fear that it's simply a compatibility issue (the error message System.MissingMethodException points in that direction), it wants to use some method/component that is present on Win10 but isn't on Win8. One thing you can check is which version of .NET framework you have installed. Win8.1 ships with .NET 4.5.1, the program is meant to run on 4.5.2 or higher. The command from this comment might help. When in doubt, install .NET 4.8 and try again.

If it still doesn't work even with a recent .NET version I fear you're out of luck. I have no way of testing it on Win8(.1), and even though it's still covered by Microsoft I have no intention of actively supporting it. Older versions might work in that case (1.0.2 was the last version that still works on Win7), but they lack features like multi-controller support, the language system and other stuff.

clorophilla commented 3 years ago

I have a fully up to date Windows 8.1 and I have installed .NET 4.8 (and updates to other versions) through Windows Update.

I have tried SFC (no problems found) and dism /restorehealth (something got repaired...) for good measure and still the same error.

Looks like I'm out of luck then, pretty sad. I'll try the old version (just have one controller).

clorophilla commented 3 years ago

I have a fully up to date Windows 8.1 and I have installed .NET 4.8 (and updates to other versions) through Windows Update.

I have tried SFC (no problems found) and dism /restorehealth (something got repaired...) for good measure and still the same error.

Looks like I'm out of luck then, pretty sad. I'll try the old version (just have one controller).

I can confirm that 1.2.0 is the last version that works with Windows 8, so if anyone comes here asking for this matter, you can point here.

It's still better than nothing, so thanks for your time replying :-)