windowswinformswindows-installerurl-scheme

Windows URI Scheme for app installed for a user


I have a desktop .net WinForms application which can be installed for everyone or for the current user. The installer will also register the app as a URI scheme in HKCR. This works as expected for all users but for the logged in user it's going to fail with permissions to the registry.

I could make this work and register the app for the given user but then the issue arrises when 2 people on the same machine install it.

Has anyone had this issue before and is there a elegant way to resolve it? The easist way is to install the app for everyone but we have to give the option to install for just the logged in user.

I've search about and am struggling to find anyinfo if it's possible to have an entry per user. One solution would be to create a launcher app which is installed for everyone and then call that which can check if it exists for the logged in user or for all.


Solution

  • HKCR (HKEY_CLASSES_ROOT) is a special root that merges the per-machine HKEY_LOCAL_MACHINE\Software\Classes and the per-user HKEY_CURRENT_USER\Software\Classes into a single view. Reading works seamlessly. But if you want control over whether you are writing to the per-machine or per-user key, use the "real" registry path.