We’ve developed some resources to help you work effectively from home during COVID-19 Click here to learn more

Citrix/Terminal server

In this article

    Please note that our web tools up till version 7.5 sr2 and 8.0 SR1 will store the user information in Isolated Storage and not the roaming profile, this means users who log on and off where this location is wiped will have to log in again.

    Install on Citrix/Terminal server
    When you install something on a Citrix/Terminal server, you do this as an administrator (or someone with administrative privileges), otherwise you won’t be allowed to install.

    The server automatically detects that you are installing something, and will therefore put the server into installation mode.

    The installer will ALWAYS install the application for All Users, i.e. all registry keys will be written to the HKEY_LOCAL_MACHINE registry hive.

    This means that there is no way we can force keys to be written to the HKEY_CURRENT_USER and get the shadow-key system [1] to work.

    What happens when you install? Where are keys written to and why?

    When you install the SuperOffice-client, all registry keys will therefore be written to the HKEY_LOCAL_MACHINE hive. Since the SuperOffice client relies less on COM to resolve its dependencies than MailLink, these registry settings are usually trouble free and will make SuperOffice work.

    When it comes to the Maillink and Ribbons components, things starts to get more complicated. First of all the installer creates registry keys that identifies existence of the MailLink system. This is written in the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\SuperOffice\Mail\Senders\OutlookSender

    The installer writes a COM GUID that point to a COM-registration that resolves to the MailLink components and will make these usable at runtime. This is the first place you might encounter problems.

    Since the SuperOffice 7 installer writes everything to the HKEY_LOCAL_MACHINE registry key, we might come in to a situation where the search order in SuperOffice will give us problems. SuperOffice can look for settings both in a user context (using the HKEY_CURRENT_USER) and in the machine context (HKEY_LOCAL_MACHINE).

    SuperOffice will ALWAYS look in the user context before checking the machine context.

    This means that if a previous installation of SuperOffice 6.3 was installed, you might experience that SuperOffice will read the wrong COM GUID for the MailLink component and fail to start MailLink.

    The first thing to check for if this situation happens, is if there are any settings in the user context (HKEY_CURRENT_USER\SOFTWARE\SuperOffice\Mail\Senders\OutlookSender) to resolve which COM Component should be instantiated to start MailLink.

    If you have previous registrations, you need to write a simple login-script that deletes these settings for every user that logs on to the Citrix/Terminal Server.

    The next step to start troubleshoot is the way the Ribbons and MailLink Addins are registered with Microsoft Office. This is also a place where a few things can go really wrong.

    First of all, the Outlook Addin itself is only an Addin, not a Ribbon [2]. An Addin can be registered in a machine context, and is therefore written to the HKEY_LOCAL_MACHINE registry hive (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\SuperOffice.OutlookAddin to be more presise). This will mostly work without too many problems, but be aware of the same issues with previous user-context registrations (HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\SuperOffice.OutlookAddin) overwriting the one written by the installer.

    The Ribbon components on the other hand are more complicated, since they need to be registered in a user context [3]. To make sure that every user gets these Ribbons, Microsoft Office has a system where you can tell Office to create some registry settings in the user context when you are about to start any Office application. This is the mechanism we’ve used to make sure every user gets the correct Ribbons when they log on. The registry propagation system uses a set of registry keys describing what to create that can be found here:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\SuperOfficeOfficeRibbons HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\SuperOfficeRibbons


    And here:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\User Settings\SuperOfficeOfficeRibbons HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\User Settings\SuperOfficeRibbons

    If you don’t want to have Ribbons installed for all users, you can delete these registry keys and enter their values into a login script that adds this for only  those of your users that should have MailLink available.


    [1] The shadow key system is part of the terminal-server and is a system that tracks changes made to the HKEY_CURRENT_USER registry hive when someone is performing an installation and has set the server in install mode. All values written to the shadow key will be deployed to all users logging into the Citrix/terminal server.

    [2] A Ribbon is a user interface element in Microsoft Office 2007 and upwards that adds buttons and other menu elements to the Ribbon user interface.

    [3] For Office 2010, HKEY_LOCAL_MACHINE can be used, but this will not work with Office 2007 without a patch.

    Deploy Maillink/Ribbons in a Citrix/TerminalServer environment

    When installing SuperOffice in a Citrix environment, there are some important steps that should be considered to avoid problems when the customer starts to use our software.

    MailLink/Ribbons on Citrix/Terminal-server

    The most important question is: Will the customer deploy MailLink/Ribbons to ALL users running in the Citrix/TerminalServer environment?
    If all users wants MailLink/Ribbons, you can skip reading this document.

    NOTE: We’re not using the Shadow key system in the registry anymore, so you shouldn’t need to test or check or do anything to troubleshoot an installation.

    Deployment

    When deploying MailLink/Ribbons in a TerminalServer/Citrix environment, we use a registry mechanism called Registry propagation built into Microsoft Office.
    PS! Registry propagation does not work for Office 2013 in SuperOffice versions below 7.5. From version 7.5 you may use the SuperOffice.MailLink.ClientConfiguration to register-user.

    The requirement to get the Ribbon components, a user needs to have the AddIns registrered in the HKEY_CURRENT_USER hive of the registry. Since we don’t know who will log in (and new users can be added later on), there is no way for us to write anything to these areas in the registry when we install SuperOffice.

    The way we’ve solved this is to register the necessary keys under the HKEY_LOCAL_MACHINE hive in the registry (for 32bit):

    Office 2013:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\User Settings\SuperOfficeOfficeRibbons

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\User Settings\SuperOfficeRibbons

    Office 2010:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\User Settings\SuperOfficeOfficeRibbons

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\User Settings\SuperOfficeRibbons

    Office 2007:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\SuperOfficeOfficeRibbons

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\SuperOfficeRibbons

    These keys contain the values that will be copied to the HKEY_CURRENT_USER keys for a user when he/she starts a Microsoft Office program. These keys will be written AFTER any login scripts has been run, so it is impossible to remove them using such a script.

    The problem with the above solution is that for every user that logs in and starts any of the Microsoft Office programs, these registry keys will be copied to their local HKEY_CURRENT_USER registry hive and they will get a question asking them if they want to install SuperOffice Ribbons.

    Supporting groups that should have and that should not have MailLink/Ribbons

    The correct way to support a scenario where some users/groups should get the MailLink/Ribbons tools is to remove the registry keys mentioned above:

    32-bit environment:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\User Settings\SuperOfficeOfficeRibbons

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\User Settings\SuperOfficeRibbons

    Note: The above keys are for Office 2013, for other Office versions change the path accordingly.

    64-bit environment:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\User Settings\SuperOfficeOfficeRibbons

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\User Settings\SuperOfficeRibbons

    Note: The above keys are for Office 2013, for other Office versions change the path accordingly.

    MailLink (ONLY for MailLink 7.0)

    In addition you should remove the HKEY_LOCAL_MACHINE registration to avoid users to get the Outlook addin. This is done by removing the following keys:

    32-bit:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\SuperOffice.OutlookAddin

    64-bit:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\Outlook\Addins\SuperOffice.OutlookAddin

     

    When these keys have been removed, none of your users will get the necessary keys copied to their current user settings, so you will need to create Registry settings for those of your users that needs the above settings containing the values found.

    Registry scripts to import

    Use the following Registry scripts to deploy MailLink/Ribbons to those users/groups that should receive these components.
    Remember to substitute the paths with correct filenames for your installation!

    The first file is for getting Ribbons installed on 7.1 and 7.5:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\SuperOfficeRibbon-Excel]
    "FriendlyName"="SuperOffice Ribbon"
    "Description"="SuperOffice Ribbon for Microsoft Office Excel 2007"
    "CommandLineSafe"=dword:00000001
    "LoadBehavior"=dword:00000003
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOffice.Ribbon.Excel.vsto|vstolocal"

    [HKEY_CURRENT_USER\Software\Microsoft\Office\PowerPoint\Addins\SuperOfficeRibbon-PowerPoint]
    "CommandLineSafe"=dword:00000001
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOffice.Ribbon.PowerPoint.vsto|vstolocal"
    "FriendlyName"="SuperOffice Ribbon"
    "Description"="SuperOffice Ribbon for Microsoft PowerPoint 2007"
    "LoadBehavior"=dword:00000003

    [HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\SuperOfficeRibbon-Word]
    "LoadBehavior"=dword:00000003
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOffice.Ribbon.Word.vsto|vstolocal"
    "FriendlyName"="SuperOffice Ribbon"
    "Description"="SuperOffice Ribbon for Microsoft Word 2007"
    "CommandLineSafe"=dword:00000001

    PS! Filenames were a bit different in 7.0:

    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOfficeRibbon-Excel.vsto|vstolocal"
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOfficeRibbon-PowerPoint.vsto|vstolocal"
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\Ribbons\\SuperOfficeRibbon-Word.vsto|vstolocal"

     

    The following file is to get MailLink deployed:

    For 7.1 and 7.5:

    [HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\SuperOfficeRibbon-Outlook]
    @=""
    "CommandLineSafe"=dword:00000001
    "Description"="A link between Outlook and SuperOffice for storing mails and attachments"
    "FriendlyName"="SuperOffice Ribbon"
    "LoadBehavior"=dword:00000003
    "Manifest"="M:\\Program Files\\SuperOffice\\SuperOffice 7 Windows\\MailLink\\SuperOfficeRibbon-Outlook.vsto|vstolocal"

    For 7.0 only:

    [HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\SuperOffice.OutlookAddin]

    @=""
    "Description"="SuperOffice Outlook Mail Link"
    "FriendlyName"="OutlookAddin"
    "LoadBehavior"=dword:00000003

      

    How to change the language of MailLink

    SuperOffice Ribbons use the "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\LanguageResources\UIFallback" to determine which language to use.

    Example: In Outlook the language is Norwegian, but the SuperOffice Ribbon is in German language.

    Registry can have these values 0;1031;1033;1044;1043;1030;1053
    SuperOffice will choose the first valid value and if you have this language pack installed the SuperOffice Ribbon will be shown in this language.
    In this example this is 1031 and that is the code for German language. Norwegian is 1044.

    You can find here a full list of languages.