Registry Entries For VSTO Add-Ins - Visual Studio (Windows) - Microsoft Learn
Registry Entries For VSTO Add-Ins - Visual Studio (Windows) - Microsoft Learn
Applies to: Visual Studio Visual Studio for Mac Visual Studio Code
You must create a specific set of registry entries when you deploy VSTO Add-ins that are
created by using Visual Studio. These registry entries provide information that enables
the Microsoft Office application to discover and load the VSTO Add-in.
Applies to: The information in this topic applies to VSTO Add-in projects. For more
information, see Features available by Office application and project type.
Note
Interested in developing solutions that extend the Office experience across multiple
platforms? Check out the new Office Add-ins model. Office Add-ins have a small
footprint compared to VSTO Add-ins and solutions, and you can build them by
using almost any web programming technology, such as HTML5, JavaScript, CSS3,
and XML.
When you build your project, Visual Studio creates these registry entries on the
development computer. This helps you easily run and debug the VSTO Add-in. Using
ClickOnce to deploy your VSTO Add-in, the registry entries are automatically created on
the end-user computer.
For more information about how to deploy a VSTO Solution Using Windows Installer,
see Deploying a VSTO Solution Using Windows Installer.
For more information about how the registry entries are used during the load process
for VSTO Add-ins, see Architecture of VSTO Add-ins.
Note
In this topic, the text add-in ID represents a unique ID for your VSTO Add-in. By
default, the ID is the name of your VSTO Add-in assembly.
1 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
For the current user only (The VSTO Add-in is available only to the user that was
logged onto the computer when the Add-in was installed). In this case, the registry
entries are created under the HKEY_CURRENT_USER.
For all users (that is, any user that signs in to the computer can use the VSTO Add-
in). In this case, the registry entries are created under HKEY_LOCAL_MACHINE.
All VSTO Add-ins that you create by using Visual Studio can be registered for the
current user. However, VSTO Add-ins can be registered for all users only in certain
scenarios. These scenarios depend on the version of Microsoft Office on the
computer and how the VSTO Add-in was deployed.
Deployment type
If you use ClickOnce to deploy a VSTO Add-in, the VSTO Add-in can be registered only
for the current user. This is because ClickOnce only supports creating keys under
HKEY_CURRENT_USER. If you want to register a VSTO Add-in to all users on a
computer, you must use Windows Installer to deploy the VSTO Add-in. For more
information about these deployment types, see Deploy an Office solution by using
ClickOnce and Deploy an Office solution by using Windows Installer.
Registry entries
The required VSTO Add-in registry entries are located under the following registry keys
where Root is HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE depending if the
installation is for the current user or all users.
Visio Root\Software\Microsoft\Visio\Addins\add-in ID
2 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
Note
If the Installer is targeting the current user, it doesn't need to install to the
WOW6432Node because the HKEY_CURRENT_USER\Software path is shared.
For more information, see 32-bit and 64-bit Application Data in the Registry.
The following table lists the entries under this registry key.
LoadBehavior REG_DWORD Required. A value that specifies when the application attempts to
load the VSTO Add-in and the current state of the VSTO Add-in
(loaded or unloaded).
Manifest REG_SZ Required. The full path of the deployment manifest for the VSTO
Add-in. The path can be a location on the local computer, a
3 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
If you use Windows Installer to deploy the solution, you must add
the prefix file:/// to the manifest path. You must also append the
string |vstolocal (that is, the pipe character | followed by
vstolocal) to the end of this path. This ensures that your solution
is loaded from the installation folder, rather than the ClickOnce
cache. For more information, see Deploy an Office solution by
using Windows Installer.
Root\Software\Microsoft\Office\Outlook\FormRegions\message class
Like the other registry entries shared by all VSTO Add-ins, Visual Studio creates the form
region registry entries on the development computer when you build your project.
Using ClickOnce to deploy your VSTO Add-in, the registry entries are automatically
created on the end-user computer. When you use Windows Installer to deploy your
VSTO Add-in, you must configure the InstallShield Limited Edition project to create the
registry entries on the end-user computer.
For more information about the form region registry entries, see Specify the location of
a form region in a custom form. For more information about Outlook form regions, see
Create Outlook form regions.
LoadBehavior values
The LoadBehavior entry under the Root\Software\Microsoft\Office\application
4 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
The following table lists all the possible values of the LoadBehavior entry. Some
descriptions in this table refer to loading a VSTO Add-in manually or programmatically.
To load a VSTO Add-in manually, select the check box next to the VSTO Add-in in the
COM Add-Ins dialog box in the application. To load a VSTO Add-in programmatically,
set the Connect property of the COMAddIn object that represents the VSTO Add-in to
true.
0 Unloaded Don't load The application never tries to load the VSTO Add-in
automatically automatically. The user can try to manually load the
VSTO Add-in, or the VSTO Add-in can be loaded
programmatically.
1 Loaded Don't load The application never tries to load the VSTO Add-in
automatically automatically. The user can try to manually load the
VSTO Add-in, or the VSTO Add-in can be loaded
programmatically.
5 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
2 Unloaded Load at startup The application doesn't try to load the VSTO Add-in
automatically. The user can try to manually load the
VSTO Add-in, or the VSTO Add-in can be loaded
programmatically.
3 Loaded Load at startup The application tries to load the VSTO Add-in when
the application starts. This is the default value when
you build or publish a VSTO Add-in in Visual Studio.
8 Unloaded Load on The application doesn't try to load the VSTO Add-in
demand automatically. The user can try to manually load the
VSTO Add-in, or the VSTO Add-in can be loaded
programmatically.
9 Loaded Load on The VSTO Add-in will be loaded only when the
demand application requires it. Such as when a user selects a
UI element that uses functionality in the VSTO Add-in
(for example, a custom button in the Ribbon).
6 of 7 7/11/2023, 6:50 PM
Registry entries for VSTO Add-ins - Visual Studio (Windows) | Microso... https://learn.microsoft.com/en-us/visualstudio/vsto/registry-entries-for-v...
16 Loaded Load first time, Set this value if you want your VSTO Add-in to be
then load on loaded on demand. The application loads the VSTO
demand Add-in when the user runs the application for the first
time. The next time the user runs the application, the
application loads any UI elements that are defined by
the VSTO Add-in. However, the VSTO Add-in isn't
loaded until the user selects a UI element that is
associated with the VSTO Add-in.
See also
Architecture of Office solutions in Visual Studio
Architecture of VSTO Add-ins
Build Office solutions
Deploy an Office solution
7 of 7 7/11/2023, 6:50 PM