||Carlos J. Quintero (Microsoft MVP)
||Microsoft Visual Studio 2008
||Microsoft Visual Studio 2008 SP1
When Visual Studio 2008 is launched on Windows Vista with its User Account Control (UAC) feature activated,
by default it doesn't require administrator rights (on the contrary to Visual Studio 2005), so it runs as a
Standard User (even if you are an administrator). In such circumstances, the Add-In Manager of Visual Studio 2008
doesn't load or unload add-ins registered for all users using the Windows Registry. The problem doesn't happen for
registered for the current user (rather than for all users) or for add-ins
registered for all users using an .AddIn XML registration file.
Notice that while standard users are not allowed to change the "Load on startup" behavior of an add-in using the Add-In Manager
because it is a machine-wide change (and therefore the checkbox for that purpose is
disabled), they should be able to load/unload add-ins through the Add-In Manager, and in facts it works
as expected for add-ins registered for all users using XML registration.
Steps to reproduce the problem:
- Ensure that the UAC feature of Windows Vista is activated.
- LLaunch Visual Studio 2008 as a standard user, the default (do not use
the "Run as administrator" shortcut context menu).
- Create a COM-based add-in (not a XML-based add-in). You can create an add-in
with Visual Studio .NET 2003 and then migrate it. The add-in doesn't need to
create commands or buttons.
- Register the add-in for Visual Studio 2008, for all users, using the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Addins registry key.
- Run the add-in. A second instance of Visual Studio 2008 is launched with
standard user rights.
- Go to the Add-In Manager.
- If the standard user tries to load such add-in not marked to load on startup
through the Add-In Manager, it doesn't load and if you go back to the Add-In
Manager the checkbox is still unchecked.
- If the standard user tries to unload such add-in marked to load on startup
through the Add-In Manager, it doesn't unload and if you go back to the Add-In
Manager the checkbox is still checked.
That doesn't happen for add-ins registered for all users using an .AddIn XML
file, only for COM-based add-ins registered for all users.
Go back to the 'Resources for Visual Studio .NET extensibility' section for more articles like this