Optional: Register for "All Users"

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
#1
TC13 currently cannot be registered for "all users" by saving registration information in the "local machine hive" of the system registry (HKLM). Multiple users of the same machine are therefore required to each go through the process of registering the product.

Worse, registration always requires elevated permissions: while an administrative user can readily install and register the product in that context, another user of the system (without admin credentials) will require the attention of an administrator to provide the necessary elevated access (and likely, the license information) in order to re-register the product with the system+user.

I propose that the ability to write (and read) registration information to the system registry instead of the user registry be added to the program.

Functionally, I suggest that the registration tab for Take Command's OPTION dialog have the additional option to "Register for All Users" when it is detected that an elevated session is being used. An alternative would be a visual indicator that selecting the "All Users" option would result in an elevation request that would trigger CUA authorization.

Either way would serve to get the registration information into HKLM.
 

rconn

Administrator
Staff member
May 14, 2008
10,101
85
#2
> Worse, registration always requires elevated permissions: while an
> administrative user can readily install and register the product in that
> context, another user of the system (without admin credentials) will
> require the attention of an administrator to provide the necessary
> elevated access (and likely, the license information) in order to re-
> register the product with the system+user.
That is not correct -- registration currently never requires elevated
permissions. (Though it would if your request to write to HKLM was
implemented.)
 
#3
That is not correct -- registration currently never requires elevated
permissions. (Though it would if your request to write to HKLM was
implemented.)
Gaah! I'm an idiot. I'm so used to running it from a shortcut that has the permanent "run as admin" enabled that I confused that CUA prompt with the need for elevation to do HKLM writes.

I apologize; it was late, and I wasn't thinking clearly.

However: if the code explicitly looked to see whether the session were elevated already, then the first workflow would be cleaner: you wouldn't get a UAC prompt because you're already in an elevated session.

Second, if the app were previously registered for "all users", the limited user wouldn't really need access to modify the registration--although conceivably possible.

The underlying registration validation algorithm would have to first check for the presence of reginfo in HKCU (and validate if found), then in HKLM if unsuccessful with that hive. And, finally, if running from a USB key, check for a valid keyfile.

As I understand it, it already does the first and last steps (or does it completely ignore HKCU when running portably?), so adding HKLM to the algorithm shouldn't be too hard.

(I do this myself in apps I write, in order to have per-system, per-user and user-override-system options)