Logo
BUG: Standard user unable to load/unload COM-based add-ins registered for all users with the VS 2008 Add-in Manager on Windows Vista

Author: Carlos J. Quintero (Microsoft MVP) Applies to: Microsoft Visual Studio 2008
Date: September 2008   Microsoft Visual Studio 2008 SP1

Introduction

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 COM add-ins 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.

More Information

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 to the 'Visual Studio Extensibility (VSX)' web site for more articles like this (Articles section)


Top