randyrants / sharpkeys

SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key.
http://www.randyrants.com/
Microsoft Public License
6.15k stars 409 forks source link

Native Windows on ARM build missing #577

Closed itpropro closed 3 weeks ago

itpropro commented 3 weeks ago

The current version from the releases and Windows Store is compiled for x86/64. It does not run in native mode on Windows on ARM devices:

image

It would be great to get native Windows on ARM support.

randyrants commented 3 weeks ago

Honestly, I thought I was compiling it with Any CPU but to be honest, this is a really non-pri bug to me. The application is nominally a run-once and never run again for most people. Once you set your key mappings and update the Registry, I don't think most people see the app again, which led me to see no huge benefit to being ARM-native.

Edit: actually, I did include the ARM and ARM64 release. From the Releases page:

MSI file is an installable package for x64 and x86; the MSI does not work on ARM or ARM64.

ZIP file is an installer-less package is handy for thumb drive-based install or for people on an ARM or ARM64-based Windows PC.
itpropro commented 3 weeks ago

Honestly, I thought I was compiling it with Any CPU but to be honest, this is a really non-pri bug to me. The application is nominally a run-once and never run again for most people. Once you set your key mappings and update the Registry, I don't think most people see the app again, which led me to see no huge benefit to being ARM-native.

Edit: actually, I did include the ARM and ARM64 release. From the Releases page:

MSI file is an installable package for x64 and x86; the MSI does not work on ARM or ARM64.

ZIP file is an installer-less package is handy for thumb drive-based install or for people on an ARM or ARM64-based Windows PC.

The Windows Store image is the x86 version unfortunately.

randyrants commented 3 weeks ago

It is, because the Windows Store required an MSI to upload and that tech is locked to x86. After working on installation tech for decades - going back to the days of multi-floppy installs - I've found that I hate working on installation work. If it was a simple "toggle this switch" maybe I could do that, but installations have gotten even more complicated over the years - rather than easier - and the original scripts I've got haven't worked since the Visual Studio 2013 or so. Which means I'd be starting over and I hate installation work.

Oddly, of all the engineers that have offered bug fixes or feature updates or pull requests, no one has ever offered installation work, so maybe it's not just me.

Also, see above comment about how this app is only running when you're setting keys. After that, the remapping is done by Windows itself, so having the interface be native ARM, when most people are only going to use it once or twice per each clean install of Windows, didn't feel like a huge requirement.

itpropro commented 3 weeks ago

It is, because the Windows Store required an MSI to upload and that tech is locked to x86. After working on installation tech for decades - going back to the days of multi-floppy installs - I've found that I hate working on installation work. If it was a simple "toggle this switch" maybe I could do that, but installations have gotten even more complicated over the years - rather than easier - and the original scripts I've got haven't worked since the Visual Studio 2013 or so. Which means I'd be starting over and I hate installation work.

Oddly, of all the engineers that have offered bug fixes or feature updates or pull requests, no one has ever offered installation work, so maybe it's not just me.

Also, see above comment about how this app is only running when you're setting keys. After that, the remapping is done by Windows itself, so having the interface be native ARM, when most people are only going to use it once or twice per each clean install of Windows, didn't feel like a huge requirement.

I get that the program is not anything that interacts with the system in a way that it would benefit from a native arm binary. I just thought it maybe already existent as arm and could be as easy as adding an additional target to the config. If it is more than that it is definitely not worth the time.