3

How does Chromeframe install without admin privileges?

If I wanted to create a BHO in C#, would it be possible to follow the same process?

If I understand correctly, I need to save the DLL on the client, I then also have to add a registry key to register the DLL as a BHO. How does chrome-frame do this in a restricted environment?

1 Answers1

6

Chrome Frame is writing to the current user (HKCU) registry hive (HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions), not the local machine (HKLM). You do not need administrative permissions to write to the current user hive.

Secondly, Google puts the DLL somewhere in %APPDATA% (like the Chrome Browser itself), not Program Files, which also does not require Administrative permissions.

The sum it up, Chrome Frame is just being installed into places that do not require elevated permissions to access, and yes, you can do it too.

As Serge pointed out in the comment below, this also means that the BHO must be installed for every user that wants to use it, which to me, is a good thing.

vcsjones
  • 138,677
  • 31
  • 291
  • 286
  • 1
    The down side being that it's available to the current user only. – Serge Wautier Nov 26 '11 at 18:00
  • 1
    @Serge-appTranslator, yes that's true. However, I tend to think of it as a good thing, not a bad thing. I can't tell you the number of times I've used a shared machine where someone else installed some silly BHO that I had no interest in, and now when I log on, there's a new toolbar. – vcsjones Nov 26 '11 at 18:03
  • I pretty much agree but it's a question of context though. As you wrote, Google even considers it's OK to install the full browser per user. – Serge Wautier Nov 26 '11 at 18:11
  • Thanks guys, that helps a lot. I also found this answer: http://stackoverflow.com/q/1613018/93202, which describes how to determine which registry entries to make for COM registration in HKCU, seeing as RegAsm requires admin privileges and only writes to HKLM. –  Nov 26 '11 at 19:15