New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider presage upgrade path for v4 #867
Comments
See |
@JuliusSweetland I was just looking at the previous checks for Presage install, and I found this suspicious looking if statement. I just wanted to sanity check it before ripping it out, in case I'm confused. OptiKey/src/JuliusSweetland.OptiKey.Core/OptiKeyApp.cs Lines 200 to 202 in c599992
I believe the logic was intended to be "if the Presage install doesn't match the OS bitness then report a problem" but the checks in the if statement are the wrong way round, correct? I think the logic should be "if the Presage install doesn't match the process bitness then report a problem". I believe that if someone tried to run Optikey (classic) on a 32 bit machine, it would refuse to load Presage. The fact that most users have a 64 OS (running a 32 bit Optikey) means we've not hit this bug. If you agree with my reading of the situation, I will fix this in |
I think those lines are correct and are testing the install location as a
proxy for whether the user has presage 32 bit installed. On a 32 bit os the
location will be "program files", while on a 64 bit os it will be "program
files x86". Either test would fail if passage x64 was installed (although
I'm not convinced it would be possible to install that on a 32 bit
operating system).
…On Mon, 16 Jan 2023, 12:46 kmcnaught, ***@***.***> wrote:
@JuliusSweetland <https://github.com/JuliusSweetland> I was just looking
at the previous checks for Presage install, and I found this suspicious
looking if statement. I just wanted to sanity check it before ripping it
out, in case I'm confused.
https://github.com/OptiKey/OptiKey/blob/c599992402e688e6f1f35e4a0d0acf42692b7d56/src/JuliusSweetland.OptiKey.Core/OptiKeyApp.cs#L200-L202
I believe the logic was *intended* to be "if the Presage install doesn't
match the OS bitness then report a problem" but the checks in the if
statement are the wrong way round, correct?
I think the logic *should* be "if the Presage install doesn't match the
*process* bitness then report a problem".
I believe that if someone tried to run Optikey (classic) on a 32 bit
machine, it would refuse to load Presage. The fact that most users have a
64 OS (running a 32 bit Optikey) means we've not hit this bug.
If you agree with my reading of the situation, I will fix this in master
as well as upgrading the logic in v4
—
Reply to this email directly, view it on GitHub
<#867 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABEA7AL7KIUB4WP4SAXBFPLWSU7KDANCNFSM6AAAAAAQ5OXZ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Oh I see, these checks implicitly assume that it's a 32 bit version of presage installed. Since I have a 64 bit OS I get 32 bit programs installed in We will need to check OS bitness and process bitness against install location to check for compatibility now that Optikey can be a 32 or 64 bit process |
Optikey v4 will be a 64 bit application, so users who have set up presage will need to upgrade to a 64 bit version
We will need to
The text was updated successfully, but these errors were encountered: