Outlook COM addin installed but not loading in Outlook

I created the Outlook application using Visual Studio 2010, which perfectly installs and creates the corresponding registry keys and folders in Program Files (x86), as I indicated, and it appears in the "Add or Remove Programs" section.

However, when I start Outlook 2010 - it does not appear, and when I check COM Addins, it is not available in the list. I created the installer in VS and, as usual, added the output of the main project to the file system, and also included the .vsto file.

Any pointers to anyone?

+4
source share
2 answers

Since you are using x64 OS and x64 Office , you are not using Wow6432Node - it is only for the Reflection Registry for 32-bit applications on x64 OS . The correct registry hive for you will be lower ....

All user bush (x64 Office on x64 OS)

 HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\Addins\[add-in ID] 

See the related SO post for the correct VSTO registry paths .

+3
source

You can run your add-in via HKLM for all users WITHOUT ClickOnce with this hard-to-reach trick:

Hang up and the "vstolocal" flag after the VSTO path path value like this:

in HKLM \ Software \ Microsoft \ Office \ Outlook \ Addins \ MyVSTOAddIn
manifest = "C: \ Program Files \ Publisher \ MyVSTOAddIn \ MyVSTOAddIn.vsto | vstolocal"

(See: http://blogs.msdn.com/b/vsto/archive/2010/03/08/deploying-your-vsto-add-ins-to-all-users-saurabh-bhatia.aspx )

and set the EnableLocalMachineVSTO flag as follows:

in HKLM \ Software \ Microsoft \ Office \ 14.0 \ Common \ General
(DWORD) EnableLocalMachineVSTO = 1

(see http://social.msdn.microsoft.com/Forums/vstudio/en-US/e724cdcb-ccad-4d9f-826a-65a6816409f9/vsto-alluser-addin-fails-to-load-on-several-clients )

In addition, if you are installing on a 64-bit version of Windows, you need to enable the installation of the local computer with two values ​​in another location:

in HKLM64 \ SOFTWARE \ Microsoft \ VSTO Runtime Settings \ v4
(DWORD) EnableVSTOLocalUNC = 1
(DWORD) EnableLocalMachineVSTO = 1

(See: http://support.microsoft.com/kb/2022442 )

No SideBySide, no PromptingLevel, no VSTO \ Security \ Inclusion and no Active Setup \ Installed Components "StubPath" necessary! Just install and run.

Added 03/10/2013 ...

It also turns out that Outlook 2010 on Win64 makes it even more difficult to trust VSTO add-ins if you do not sign them with genuine PFX Code Signing PFX and put the certificate in the repository. Trusted publishers of the user machine. I wrote this command-line utility with the PFX executable built in to make the certificate part of the installation process. To access the repository of trusted publishers on the local computer, this must be run as an administrator:

 using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; using System.IO; namespace TrustCert { class Program { static void Main(string[] args) { string msg = ""; try { byte[] pfx; var assembly = typeof(Program).Assembly; string pfxName = ""; foreach (string mr in assembly.GetManifestResourceNames()) { if (mr.Contains("MyPfxName")) { pfxName = mr; break; } } using (var stream = assembly.GetManifestResourceStream(pfxName)) { pfx = new byte[stream.Length]; stream.Read(pfx, 0, pfx.Length); } X509Certificate2 cert = new X509Certificate2(pfx, "pfxPassword"); X509Store store = new X509Store(StoreName.TrustedPublisher , StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); store.Add(cert); store.Close(); msg = "Certificate installed"; } catch (Exception e) { msg = e.ToString(); } Console.WriteLine(msg); } } } 
+3
source

Source: https://habr.com/ru/post/1441805/


All Articles