none
Registry keys for Inclusion List for Office 2007 add-ins RRS feed

  • Question

  • Hello,

    I have developed an add-in for word 2007. I have signed the add-in's clickonce manifest with a certificate purchased from GoDaddy. After installing the word add-in on win7 and opening the word, the Office Customization Installer prompt is shown saying that the publisher is verified and asking for Install/Don't Install. I want to suppress this popup. I learnt that this can be done using the registry entries for Inclusion List as in the link http://msdn.microsoft.com/en-us/library/vstudio/bb398239%28v=vs.100%29.aspx.

    This link actually provides to add inclusion list programatically. I want to add these registry entries manually in a custom Installer project developed in InstallAware Studio. So, I want to know what registry keys are required for this.

    I found in my registry the following keys:

    HKEY_CURRENT_USER\Software\Microsoft\VSTO\Security\Inclusion\476ac02b-d789-42ee-a8a2-0a99fee9fbcd\.......

    HKEY_CURRENT_USER\Software\Microsoft\VSTO\SolutionMetadata\{0F438306-1017-4251-80B1-E354F3740B0B}

    How to get the IDs mentioned above in bold text? So that I will add these registry keys in my custom installer project.

    Thanks in advance.


    Surya Praveen

    Tuesday, March 5, 2013 8:10 AM

Answers

  • There is public .net API for this. Create custom action in your installer and call there

    string publicKey = "<RSAKeyValue><Modulus>your public key</Modulus><Exponent>your exponent</Exponent></RSAKeyValue>";
                var path = new FileInfo(pat to your assembly on target computer);
                Uri solutionLocation = new Uri(string.Format(@"file:///{0}/your vsto file name.vsto", path.Directory.FullName.Replace("\\", "/")));
    
    
                var entry = new AddInSecurityEntry(solutionLocation, publicKey);
                if(!UserInclusionList.Contains(entry))
                    UserInclusionList.Add(entry);

    • Marked as answer by Surya Praveen Tuesday, March 5, 2013 1:48 PM
    Tuesday, March 5, 2013 9:19 AM

All replies

  • There is public .net API for this. Create custom action in your installer and call there

    string publicKey = "<RSAKeyValue><Modulus>your public key</Modulus><Exponent>your exponent</Exponent></RSAKeyValue>";
                var path = new FileInfo(pat to your assembly on target computer);
                Uri solutionLocation = new Uri(string.Format(@"file:///{0}/your vsto file name.vsto", path.Directory.FullName.Replace("\\", "/")));
    
    
                var entry = new AddInSecurityEntry(solutionLocation, publicKey);
                if(!UserInclusionList.Contains(entry))
                    UserInclusionList.Add(entry);

    • Marked as answer by Surya Praveen Tuesday, March 5, 2013 1:48 PM
    Tuesday, March 5, 2013 9:19 AM
  • What is the output of this API? How this can be used in an installer other than provided by the default setup project provided in Visual Studio?

    I am using InstallAware Studio for creating custom setup for installing word add-in. There is no option like custom action in it.


    Surya Praveen

    Tuesday, March 5, 2013 10:00 AM
  • output is simply proper registry entry/entries in registry. This is normal API, no requirement for VS based setup project. If you cannot run custom scripts or code with your installer then i would change it. Hardcoding registry values would be veru brittle since format for those entries changed between service packs for VSTO.
    Tuesday, March 5, 2013 10:31 AM
  • Hi DamianD,

    I have created two console projects in VB one for adding add-in to inclusion list and another for removing add-in from inclusion list as mentioned in the link http://msdn.microsoft.com/en-us/library/bb398239.aspx.

    I programmed my custom installer project to run these exe files which are outputs of console projects after installation of add-in and the exe for removing after uninstallation of word add-in.

    This really worked well and the customization installer popup is no more displayed now.

    As you strongly said that the installer should be able to run custom scripts, I searched Google in that direction. Finally I got the solution.

    Thanks for your valuable suggestion!


    Surya Praveen

    Tuesday, March 5, 2013 1:48 PM