SharpMT and SharpKeys: New Install Type

I discovered the other day that Visual Studio.NET 2003 comes with project wizards to help build installation packages for your applications: you can create MSI packages right from the IDE. I’ve made two new installs to handle SharpKeys 1.1 and SharpMT 2.2; it looks like the SharpKeys install is about 600KB smaller and SharpMT is about 500KB smaller. Hey, whatever makes for faster downloads, right? Read on for some specifics with this…

I’ve worked with installation procedures for over a decade now [I just heard all the engineers that read this moan in empathy] and install crap is always the most painful process of software development. Of all the code that you will ever write, installation will be the module that should be flawless in execution but it’s also the module that is most prone to disaster: you simply never know the exact configuration of the machine you’ll be installing on.

Newer tools like MSI packages and VS.NET wizards help this process; as a frame of reference, the old install was based of a working script I wrote in 1998, because I didn’t want to start from scratch – it’s that painful. One thing that I did add to the old script was an active check to see if the .NET Framework was installed before allowing my install to run. I did a check on XP to see if the MSI files did the same thing and it does, so I’m happy. What happens on a Windows 98 machine that doesn’t support MSI? I dunno, so they can download the EXE install version of SharpMT (SharpKeys requires Win2K or higher anyway) but if you’re running 98 or Millennium, it’s time to upgrade to XP. Windows has shipped with support for MSI file for a while now, and 98 is now at least six years old and it’s time to move onwards and upwards.

If everything goes well with the MSI script, that will replace the EXE install type, because the MSI is much easier to work with and makes smaller files to download; if you feel adventurous, please feel free to download the MSI versions of both applications… you’ll find them on the download pages of SharpMT and SharpKeys.

23 thoughts on “SharpMT and SharpKeys: New Install Type”

  1. Thanks for this tool! I can finally dump the idiotic Windows keys! Plus, since the designers of my laptop’s keyboard omitted the right control key, I can remap the Application key to it.

    Quick question, if you don’t mind: Does .net stuff take up a lot of memory? Specifically, does running your tool cause a lot of stuff to be loaded, or is it all already running on XP?



  2. In this instanace, my tool doesn’t load anything, ever – everything that the tool sets up is stored in the registry and Windows handles the actual remapping. SharpKeys is just a pretty face on existing technology and unloads from memory once it’s closed.

    As to regular .NET applications hogging memory, it still depends on the application: .NET doesn’t add very much overhead, from what I’ve been reading, but if you get an application that allocates the world and won’t let it go, it will hog memory :)

  3. I am using Windows XP Pro on an industrial PC (no keyboard on it, just F-keys), and cannot get SharpKeys to see the R or L ALT keys. I am using a keyboard (only to set it up [PS/2 connect (company I work for doesn’t want the factory guys to have access to a keyboard, just the F-Keys)]. Everything else works great!! I wish there was a way to map one button to CTRL-ALT-DEL. Once I get this to work the factory is up and running! Please help.

  4. Actually, that’s something I’ve been looking for myself: I’d love to replace the silly Logout button and make that Ctrl+Alt+Del but it’s not possible with this remapper, so I’ve gone without as well :(

  5. Hey, quick question. Love the product, but will there be a way to map something like Shift + Tab or Shift + ~ to a key. I have a 8 button keypad that I am trying to make tab up and down, but can’t map that shift+ before. Would love to see it in there, my company would be willing to!DONATE! to the cause!Again great product, the best I have seen out there for free,and I have probably seen them all….thanks!>>John

  6. @John – Sadly, Windows doesn’t allow remapping of just shift/keys: it remaps the entire key at a time. So you could remap the entire `/~ key to another key (which would allow Shft/Ctrl/Alt functionality) but you can’t remap just Shift+`


  7. Is it possible to give a list of the registry keys that are changed by the program?

    Is it possible to change the keyboard-mapping by command line? (eg by knowing the registry keys that have to be changed)

    This would make it possible for me to switch between 2 keyboards, on one of them I need a keyboard remapping with SharpKeys, but with my other keyboard, the remapping is not necessary, so I would like to make a script for easily turning of the SharpKey remapping…

    Thanks a lot!

    Great application! I hope someone will ever be able to find a solution for the notebook Function Fn key remapping…



  8. Check the FAQ and the previous posts. It’s well documented. And nope, command line isn’t possible – you can do that on your own with the REG command though. Either way, you have to reboot for it to take effect.


  9. Thx, found them now.

    If somebody else would like to know the registry keys used in it:

    “HKEY_CURRENT_USER\Keyboard Layout” -> “Scancode Map”

    “HKEY_USERS\.DEFAULT\Keyboard Layout” -> “Scancode Map”

    “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout” -> “Scanode Map”

    If somebody finds a solution, like a program that can be activated, to make the reboot/logoff not longer necessary, please let me know… would be great :-)



  10. I asked the earlier question on mapping a shift+tab combo to 1 key. If I can’t map shift+tab to 1 key, does anyone know how to make one key function as “shift+tab” and navigate up the opposite of tab?!?!?!?Help….

  11. This looks to be just what I’m looking for. I’m sharing a Apple keyboard with a mini Mac and a Windows XP machine and I need the print screen function. Will your application allow me to remap the print screen key to one of the Apple sound keys?

  12. Ummm. Hah. I dunno, actually! From what I remember the Apple keyboard has a regular key for sound, rather than a hardware/laptop type key… it should work. Provided that you map the whole key, of course. If the sound key is like Fn+something, then it won’t work.

    Odd – had four Macs over the years and never had an external Mac keyboard (a Mini, a G4 tower, a PowerBook, and an iBook) since I always used a KVM.

  13. Sounds like Firefox either doesn’t know what to do with the extension or ya don’t have the Windows Installer installed… I’m better it’s the extension.

    As to ClickOnce, yep, I know about that – just holding off on dealing with it until the RTM of VS 2005. If it costs no cash – as in I don’t need to get a VeriSign certificate – and it doesn’t eat up more bandwidth, I’d consider it… in my experience with it so far, it’s great for Enterprises, since the version is checked with each run and downloaded with each change – dunno if I want to enforce that for a ‘net application. Especially since I dunno how many updates SharpMT will be building post RTM – I’m pretty much “done” with what it does and might just drop the source code. Dunno yet.

  14. Well, you have probably been asked this a million times and you can freely call me a retard.

    I love the program, it has really made a difference in my computing life.

    I have a Mac and a PC on a Apple Bluetooth keyboard, and you helped me get my volume and print screen back!

    Only question, are F16 and the Vol Up, Vol Dn, Mute, and Eject buttons ‘un-mappable’? I was just wondering as the Bluetooth version of the Apple keyboard completely got rid on any volume functionality.


  15. That would depend on Windows: I only expose a registry key, but Windows remaps the keys… might want to try something like AutoHotKeys – that has a more active remapping technique.

  16. I was wondering if you can remap a combination of keys to an F key using your SharpKeys?

    Example I use a program that has a command that is Alt + I. It would be helpful if we could make the say the F5 key do that combination.

    Thank you for your help

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.