Skip to content
This repository has been archived by the owner on Jun 27, 2021. It is now read-only.

Tell me to install the latest .NET in the application instead of just giving me an error midway through running it without a clue what to do. #49

Closed
misyltoad opened this issue Nov 18, 2018 · 17 comments
Labels
category: installer Something related to the installer/install process. category: major Difficult feature to create or bug to fix. priority: medium Somewhat important, but doesn't require immediate attention. status: planned Considered as a to-do; will be worked on in the near future

Comments

@misyltoad
Copy link

No description provided.

@misyltoad misyltoad changed the title Tell me to install .NET in the application instead of just giving me an error without a clue what to do. Tell me to install the latest .NET in the application instead of just giving me an error without a clue what to do. Nov 18, 2018
@misyltoad misyltoad changed the title Tell me to install the latest .NET in the application instead of just giving me an error without a clue what to do. Tell me to install the latest .NET in the application instead of just giving me an error midway through running it without a clue what to do. Nov 18, 2018
@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

Well it says that in the readme and we don't have direct control over the .net errors

@misyltoad
Copy link
Author

You do. You can just try catch it or load dynamically and realize its wrong and then tell me to install latest .NET. 🙃

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

Nope that's not the current loading schema, it is a hard dependency.

@misyltoad
Copy link
Author

misyltoad commented Nov 18, 2018

There are so many ways you can fix this! Stop saying you can't when you clearly can!
Especially as the exception happens midway through the application.

METHOD 1 - Try Catch
The error is an unhandled exception because something doesn't exist, just try catch stuff and check what error is given, if its that it couldn't load a type, then tell me to update .NET.
Remember the types get loaded before the method that executes them.

METHOD 2 - Check for InteropServices.OSPlatform dynamically
Read from the assembly containing InteropServices and see if this type exists, if it doesn't tell me to update .NET.

METHOD 3 - Wrapper EXE
Make another executable that loads an EnhancedDiscord DLL dynamically and runs that and checks .NET version and InteropServices beforehand.

METHOD 4 - Check .NET Version on startup
Title really.

I've given you several methods here on how to fix it. So go do that.

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

No need to be rude, and all of those would change our loading schema, so I have no intention of rewriting the installer to do it. It says the necessary dependency on the readme. This isn't even my project.

@misyltoad
Copy link
Author

Enjoy your broken application. 🙃

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

Works fine, thanks.

@TedHartDavis
Copy link

Works fine, thanks.

"It's a feature, not a bug!"

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

Don't recall using the term feature, but alright. Pull requests are always welcome if you find this such a dire bug.

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

@TedsterTech @Joshua-Ashton

@misyltoad
Copy link
Author

As you said

This isn't even my project.

@zerebos
Copy link
Collaborator

zerebos commented Nov 18, 2018

And as you so politely said:

So go do that.

@Leopard1907
Copy link

If that is not your project , why did you reply like that in the first place?

"we don't have direct control over the .net errors"

@zerebos
Copy link
Collaborator

zerebos commented Nov 19, 2018

I'm a contributor and I'm aware of the time limitations of both myself and the ED creator. At this time, solving this issue (that occurs seldomly and is explained in the readme) is not within our current effort's scope. The way that the installer is currently written we don't control the loading process of the .NET dependency (or try catch every usage), that would take implementation changes.

I'm not denying this is an error or calling it a feature as was facetiously suggested, I'm saying that it's a rare error we are not focusing our efforts on. The application itself (ED) is functioning fine and the fix for the installer is explained in the readme for the few encountering the error.

@misyltoad
Copy link
Author

misyltoad commented Nov 19, 2018

You can easily do 1 big try catch around it or another method I described. This wouldn't take you a lot of time. You objectively do have complete control over this and can use every method I suggested. 🤠

@misyltoad
Copy link
Author

In fact, for the try catch you'd only need to do it upon the first use of a InteropServices (try catch the first function that uses it) and then just show me an error dialog saying what I have to do there.

@zerebos
Copy link
Collaborator

zerebos commented Nov 19, 2018

The code does not currently do that, I think I mentioned that so while it is possible, it doesn't currently control the error flow. I think that was a communication error, as I'm referring to the current code and you seem to be directing it to me:

we don't have direct control over the .net errors

This was meant as we don't have anything in the code handling the errors, as in no controls in place. That's why I followed up by saying that isn't the current loading schema. The only thing we currently have is the note on the readme for the few people that have the error.

Unfortunately, it would take more time than you might think to complete the entire process as the installer would need to be recompiled by the repo owner, after a PR, in order to upload it to the website. The version on the website is actually out of date compared to what is on the repo because he is currently quite busy with other things. Also as I said before, PRs are always welcome. Feel free to use any of the methods you pointed out above, I personally would go with number 4 for better UX than number 1.

Have a nice night!

@joe27g joe27g added category: core Something to do with loading plugins or pre-included features status: planned Considered as a to-do; will be worked on in the near future priority: medium Somewhat important, but doesn't require immediate attention. category: major Difficult feature to create or bug to fix. labels Feb 23, 2019
@joe27g joe27g added category: installer Something related to the installer/install process. and removed category: core Something to do with loading plugins or pre-included features labels Mar 25, 2019
@joe27g joe27g closed this as completed Feb 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
category: installer Something related to the installer/install process. category: major Difficult feature to create or bug to fix. priority: medium Somewhat important, but doesn't require immediate attention. status: planned Considered as a to-do; will be worked on in the near future
Projects
None yet
Development

No branches or pull requests

5 participants