Mark Hammond wrote:
> On Vista, it's necessary to register python COM objects from an "elevated"
> process.  In practice, this means I tend to keep a command-prompt open
> started with "run as administrator", do registration and unregistration
> there, then switch back to the normal command-prompt to do testing etc.  I
> finally got annoyed at this, and came up with a patch that catches this
> error, then retries the command after prompting for elevation (the infamous
> Vista "Allow" dialog).
> ...
> As a result, I'd like some feedback on my approach - both the specific
> implementation and the general idea, or anything else you can think of.
> I've attached the patch.
>   

It is possible (since XP) to register a COM object in 
HKEY_CURRENT_USER\Software\Classes instead of 
HKEY_LOCAL_MACHINE\Software\Classes (which is HKEY_CLASSES_ROOT).  
Writing to HKCU should not require elevation.  However, as you might 
expect, that results in a COM object that is usable only by the current 
user.

An application with "setup" or "install" or "update" in its filename 
automatically gets elevated.  I wonder if it would be possible to create 
a clone of Python.exe called PythonSetup.exe and use that for 
registration?  I guess that's not really better than your solution.

You're right, there are no perfect answers.

-- 
Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.

_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to