none
Excel 2013 – add automation add-in automatically using registry RRS feed

  • Question

  • A preference is using the registry to register the add-in and not using code.

    Environment

    Windows 64bit

    Office 2013 32bit

    In Excel 2013 I created and saved my add-in.


    In Excel I click File, Options, Add-Ins, Manage Excel Add-ins, click Go…

    The Add-ins dialog displays, click Add New… navigate to location of add-in

    C:\Program Files (x86)\Microsoft Office\Office15\ADDINS\MyAddin.xlam

    I close Excel and restart a few times and eventually the add-in is loaded.

    In the registry I noticed the addin is registered under the HKEY Current User hive ie

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\AddIn Manager\MyAddin.xlam]

    " C:\Program Files (x86)\Microsoft Office\Office15\ADDINS\MyAddin.xlam"

    "AutoLoad"=dword:00000001

    I want to distribute, deploy and load the add-in automatically in Excel.


    Doing a websearch I found the following MS KB. The article is for Excel older versions however is applicable to Excel 2013.

    https://support.microsoft.com/en-us/kb/291392

    Can I register the the excel add-in under HKEY Local Machine, and not under HKCU

    Searching the registry I discovered this location however this appears to register COM add-ins, and not automation add-ins

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Excel\Addins]

    What is the correct location for HKLM to register the excel automation add-in

    Would the excel add-in load automatically from this location

    Is it possible to only register the addin at machine level HKLM and not user level ie HKCU

    TIA


    • Edited by dd_ Tuesday, September 15, 2015 1:05 AM
    Tuesday, September 15, 2015 12:59 AM

All replies

  • We are doing the research about your problem. There might be some delay about the response. Appreciate your patience.
    Friday, September 18, 2015 9:46 AM
  • Yes you can deploy workbook type type addins via the registry - 

    Close all Excel instances

    Delete any old versions of your addin and copy your file to a suitable location. Consider if you want to use the default addins folder, or subfolder.

    Iterate HKCU\Software\Microsoft\Office\ver.0\Excel\ from ver=12 to 16 for installed versions (or earlier if you cater for 2003). Typically there'll only be one version. In your case with only 2013 you'll only want to look at  ...Office\15.0\Excel\

    Remove any old entry of your addin from HKCU\Software\Microsoft\Office\ver.0\Excel\Options\OPEN# where # is a number and decrement any other OPEN# entries with a higher #

    Remove any entry in the uninstalled list HKCU\Software\Microsoft\Office\12.0\Excel\Add-in Manager

    Find the highest OPEN# under HKCU\Software\Microsoft\Office\ver.0\Excel\Options\ for existing addins and create a new OPEN#+1 for your addin

    The first OPEN# entry is actually simply OPEN, and the second is OPEN1, if there are no installed addins yours will be just "OPEN"

    Note you must install per HKCU, not HKLM

    It's important to get this right not to mess up user's other addins, there are apps and installers out there that will do all this for you 


    Friday, September 18, 2015 10:37 AM
    Moderator
  • Thank you Peter

    Ill take a look and implement your suggestion.

    Currently the excel add-in is packaged and deployed via an msi package. The add-in is installing in the correct location ie 

    C:\Program Files (x86)\Microsoft Office\Office15\ADDINS\MyAddin.xlam

    With a test user account  I launch Excel 2013. I click File, Options, Add-ins, in Manage Excel Add-ins list click Go.

    The Add-Ins dialog displays. My excel Add-in isnt listed.

    If I manually add the add-in by clicking Browse... navigate to the location  

    C:\Program Files (x86)\Microsoft Office\Office15\ADDINS\MyAddin.xlam

    and select the add-in, click ok. 

    Close Excel

    Open Excel

    The results:

    my addin is loaded and displays in the Add-ins dialog box. The code in the add-in is now available to execute.

    Adding manually loads the add-in, however I need to distribute the excel add-in to a fleet of 1000+ laptops across the firm. Therefore an automated way is preferred.

    Ill check out and implement your recommendations

    Thanks again Peter



    Wednesday, September 23, 2015 6:35 AM
  • It might seem like semantics but there is no "correct" folder for addins as long as it's accessible for read/write. If you have multiple related files to distribute a dedicated subfolder in the user's appdata might be more appropriate.

    The main advantage of using the default folder is addins are automatically added to the Addins collection and then easy to manually install (also no stray entries in the registry after uninstalling and removing). Normally you should see an addin in this location in the addin manager (initially unticked and uninstalled) without having to browse to it. Not sure why it's not immediately visible for you. Double check that really is your default addins folder -

    ?application.UserLibraryPath

    Also, ensure all instances of Excel are closed before adding the file to the folder.

    I'm not sure how your msi installer works but if you're distributing the addin as a one-off (ie not updating), if your installer can automate Excel, after saving to file the addin can be added to the addins collection and installed replicating what you'd do manually.

    Wednesday, September 23, 2015 8:45 AM
    Moderator
  • Hello I eventually managed to get this to work.

    For the excel automation addin to be loaded into excel and the checkbox ticked, two registry keys are required:

    note: theres debate about using single or double slashes

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Add-in Manager\MyAddin.xlam]

    "Path"="C:\\Program Files (x86)\\Microsoft Office\\Office15\\ADDINS\\MyAddin.xlam"

    "AutoLoad"=dword:00000001

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options]

    "OPEN"="\"C:\\Program Files (x86)\\Microsoft Office\\Office15\\ADDINS\\MyAddin.xlam\""






    • Edited by dd_ Thursday, October 1, 2015 6:51 AM
    Thursday, October 1, 2015 6:38 AM