textadventures / quest

Create text adventure games
http://textadventures.co.uk/quest
MIT License
301 stars 70 forks source link

Quest crashes on win 11 #1173

Open robuxxx22 opened 1 year ago

robuxxx22 commented 1 year ago

System.InvalidOperationException: An error occurred creating the form. See Exception.InnerException for details. The error is: Could not load file or assembly 'PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The module was expected to contain an assembly manifest. ---> System.BadImageFormatException: Could not load file or assembly 'PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The module was expected to contain an assembly manifest. at TextAdventures.Quest.Main..ctor() --- End of inner exception stack trace --- at TextAdventures.Quest.My.MyProject.MyForms.CreateInstance[T](T Instance) at TextAdventures.Quest.My.MyApplication.OnCreateMainForm() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()

Don't know what's the issue here. It worked just fine on win 10 before I upgrade to win 11. I tried reinstalling it but with no results.

robuxxx22 commented 1 year ago

Update on the issue:

I have tried to download windows 10 virtual machine and install Quest there as if I would be using win 10. My suspicions confirmed when I could use Quest without any problems on win 10 on virtual machine. I tried launching Quest with win7/winxp compatibility and it didn't worked. So probably the problem lies within win 11 not being compatible with that program.

ThePix commented 1 year ago

Can you check what version of .net you have installed? Details of how here: https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

I cannot see anything else that could be the issue, but I must admit I cannot see why you would have a lower version on Windows 11. I will try to investigate myself, but may be a while before I get the chance to.

robuxxx22 commented 1 year ago

Thank you for your response. I will try to check what version of .net I have but probably that's going to be tomorrow or the day after. I had one today and will have other 12h work shift tomorrow. Hopefully it won't slip out of my mind.

robuxxx22 commented 1 year ago

net version

Can you check what version of .net you have installed? Details of how here: https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

I cannot see anything else that could be the issue, but I must admit I cannot see why you would have a lower version on Windows 11. I will try to investigate myself, but may be a while before I get the chance to.

I have looked into reg edit and my .net version is:

533320

.NET Framework 4.8.1 | On Windows 11 2022 Update: 533320

Also don't worry if you can't look at it at the moment. It's OK just do it when you can.

ThePix commented 1 year ago

So I have installed Quest on a PC running Windows 11, with .Net version 533320, and it seems to work okay. I created a room and exits to and from the default room, and created an item. I went in game and checked I could use the exits and pick up the item.

Is it something specific you are doing?

It might be worth uninstalling Quest and re-installing.

robuxxx22 commented 1 year ago

Tried to reinstall quest several times already even tried to delete .Quest folder from regedit yet sadly the same crash happens.

vrilock commented 9 months ago

Mine was working just fine on Win 11 for a couple of weeks until... tonight. Here's the error msg from tonight's attempt to 'play' the game I created >>

System.BadImageFormatException: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The module was expected to contain an assembly manifest. File name: 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' at TextAdventures.Quest.PlayerHTML.GetScriptParameter(Object arg) at TextAdventures.Quest.PlayerHTML._Lambda$87-0(Object arg) at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() at System.String.Join(String separator, IEnumerable1 values) at TextAdventures.Quest.PlayerHTML.InvokeScript(String functionName, Object[] args) at TextAdventures.Quest.PlayerHTML.UpdateStatus(String status) at TextAdventures.Quest.Player._Closure$__181-0._Lambda$0()

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].