Templafy Desktop consists of a host and a client. For more information about this please read here.
Release notes for Templafy Desktop host can be found here.
Templafy Desktop Client 2.4.76
Templafy Desktop Client 2.4
To prepare for customers to migrate to Hive, we've added some additional logging to help us get a better picture of customer installations.
We are now logging the following:
- The installed version(s) of Office
- The installed .NET Framework 4.x version
- The installed WebView2 version
Templafy Desktop Client 184.108.40.2065
Templafy Desktop fails-safe delete
As preparation for VSTO Loader, Templafy Deskop is now more resilient against files that can not be deleted during an update. This change improves handling of locked files by deferring the deletion to the next update.
Templafy Desktop Copyright is Hardcoded
The Copyright statement in the Templafy Desktop UI showed "Copyright (c) 2019 Templafy ApS" (wrong year). In this release we removed the year from the information, so it just says "Copyright (c) Templafy ApS".
Templafy Desktop Client 220.127.116.118
Modules Tab shows "no packages installed" on Templafy Desktop
The Modules tab was not showing any installed modules because the location for the different add-ins were not correctly identified causing the message "no packages installed" to be shown.
This has now been resolved and Templafy Desktop will now correctly show the "SlideProof", "Email Signature" and "Office VSTO Add-ins" packages including their version number, if they are installed through Templafy Desktop.
The logic behind package identification has been changed to now use the "installed.xml" file to detect the installed packages and their location.
Templafy Desktop Client 18.104.22.1680
FileWatcher events raised twice
We identified an issue where opening Templafy Desktop from the start menu would trigger the client to start twice, if another version was configured in the admin center.
This is now fixed and the client is only triggered once.
Templafy Desktop Client 22.214.171.1241
Templafy Desktop UI - react app
Currently, the only interface to Templafy Desktop is a tray icon with three functionalities: “Check for updates”, “About”, and “Hide”. For the better user experience and to have the possibility to add new features to the product, Templafy Desktop now includes a user interface.
Running Templafy Desktop
While the icon and its menu from the system tray were removed, when Templafy Desktop is manually started from the Start Menu, a new window (the Templafy Desktop UI) is shown to the user. Templafy Desktop still runs automatically at the Windows start, but without showing any user interface, as it does today.
Closing the Templafy Desktop UI is only closing the user interface, without stopping Templafy Desktop from running in background.
In the initial version of Templafy Desktop UI the following features will be available. The features are organized on multiple tabs, each having different functionality.
The "General” section shows when the last update was performed and whether it was successful or not. There is also a “Check for updates” button for manually starting the update. Lastly, an option toggling for notifications has been added, which will, when enabled, show notifications for all updates that are manually triggered. The notifications will only be shown when the settings UI is open and are disabled by default. The “Login details” section shows the email address of the current user, the URL and the authentication method configured. Now there is also an option to log the user out, which will clear any authentication information currently stored. It is not possible to log out while an update is in progress. The log out feature will also allow the user to log in manually afterwards. This button will not perform a hidden login, so a login screen will always be shown.
All the installed modules are listed in this area. The name of the package, the version and an option to open the log files folder are available here. In this version of the settings UI, only the Templafy Add-ins and SlideProof packages are supported.
This area provides options to show the Templafy Desktop log files folder, a link to the Templafy Knowledge Base page and a button to quit Templafy Desktop. Quitting Templafy Desktop will immediately exit the process as would usually be done from the Task Manager in Windows.
This area displays the installed version of Templafy Desktop Host and Client, a link to the Templafy.com website, and information about copyright.
Templafy Desktop Client version 126.96.36.1994
Run TemplafyDesktopUninstaller Silently
The uninstaller is changed to run as a Windows Application, so that when it runs at user login, we prevent the brief appearance of a console window on the user's desktop.
Ensure only a single download slot is acquired per update
When Templafy Desktop downloads packages and offline content, it acquires a download slot. The download of the packages and offline content is done in two separate phases. Until now, for each phase it was acquired one download slot, resulting in unnecessary requests. The logic has now been modified to only acquire a single download slot if there are any files to download. If there are no files, no download slot will be requested.
Remove browser emulation setting on uninstall
We identified a registry entry which was not removed when uninstalling Templafy Desktop. The entry for Internet Explorer that changes the emulated version within Templafy Desktop was still present after an uninstall. This entry is now also removed when Templafy Desktop is uninstalled.
Reduce version retrieval overhead on client HTTP requests
When Templafy Desktop Client performs an HTTP request to the Templafy web-servers, it adds the versions of the host, client, operating system and browser. All these version numbers are retrieved for each request, although they cannot change. These version numbers are now cached and will be reused within the lifetime of the client process, thus reducing unnecessary overhead and reducing the request time.
Set browser emulation to latest available version of Internet Explorer
The browser version reported by the API calls would in many circumstances be different from the document mode the web browser used by Templafy Desktop. Templafy Desktop had a hardcoded document compatibility mode set to Internet Explorer 10.0, but the reported browser version for API requests would be the actual version installed. This has now been corrected and the document compatibility mode is now set to the same version as installed on the computer.
FileWatcher events raised twice
We identified an issue where opening Templafy Desktop from the start menu would trigger the client to start twice, if another version was configured in the admin center. This is now fixed and the client is only triggered once.
Slot renewal logic - Download of package never completes
An issue in the download slot renewal logic has been identified. When a download slot is acquired, it has a default lifetime of 5 minutes. Within these 5 minutes, data is expected to be downloaded, but if not, the client is considered being in a faulted state and will be restarted, however, download progress reporting is only happening when the download is throttled. Some customers with poor download speeds to Azure blob storage experienced that Templafy Desktop was restarted even though data was indeed being downloaded. The reason behind this was that the download was never throttled (it was already sort of throttled), thus the reporting of data download never took place.
To solve this problem, a download stream monitor is added to Templafy Desktop, responsible for determining whether the file size is, in fact, increasing, regardless of throttling being performed or not.
Right-click is available when viewing Templafy Desktop Interactive pages
In the web browser shown in Templafy Desktop, it was possible to navigate using the context menu, which in some cases could end up in an invalid state. This context menu is now blocked and navigation can only happen by using the links and buttons available on the pages shown. Alt+Home can be used to get back to the initial page, this can be useful in case the web browser ends up on a page with no navigation links available.
Access denied when multiple users go through onboarding flow of Templafy Desktop on a Windows Server Infrastructure
When multiple users are downloading the same package at the exact same time, in a Local Machine installation, the second one that tries to access the package file will fail to update - because the file was already moved by the first user. We fixed that by now checking if the package was already moved.
Changing URL results makes the interactive state API fail
A minor issue has been identified when changing the URL registry key for Templafy Desktop. When the URL is manually changed, the potential existing JSON Web Token present is issued to a different tenant. This causes the wrong login screen to be displayed when starting Templafy Desktop. This has been fixed and in case the JSON Web Token is not valid for the tenant URL, the correct login screen will be displayed.
Templafy Desktop Client version 188.8.131.522
Allow downloading client and packages from custom URL
Templafy Desktop now supports downloading clients and packages from a custom location (custom storage that supports downloading files over https). This custom location is specified as an optional installation parameter (SourceUrl)
Templafy Desktop Client version 184.108.40.206
Templafy Desktop 2.1 host requires a client with the same or higher version.
Support offline uninstall of Templafy Desktop Host
We have added a new parameter to the uninstall command. It must only be used if the automatic detection of the offline status is not successful due to the tenant's specific network configurations.
Templafy Desktop Client version 220.127.116.119
Filter Check and ProductivityPlus by User group
Templafy Desktop Client now supports “configuration packages” that are installed after the main active packages. These configuration packages have the same structure of the existing ones but are composed dynamically from Templafy based on the authenticated user. They only contain configurations (e.g. registry keys) and have the goal to enable further configuration of the modules by user group while avoiding code duplication. This feature opens the possibility to centrally distribute our modules and create their specific configurations by user group on demand.
SlideProof Check and ProductivityPlus example: A user in the HR or Marketing department can get both Check and ProductivityPlus, while a user in the Sales or Development department can simply get Check).
Templafy Desktop Client version 18.104.22.1686
Minimize memory footprint after update When Templafy Desktop runs it loads some resources which will stay in memory until the .NET Runtime no longer finds it needed. This could take minutes or hours, which to the user might look like Templafy Desktop has a high impact on memory consumption. Since Templafy Desktop usually only runs once a day we now manually release any resources loaded by the .NET Runtime right after the update is complete.
Templafy Desktop uninstaller doesn't run if the HKLM\Software\Templafy registry key is present
When Templafy Desktop is installed for all users the MSI installer will create three registry values under the HKLM\SOFTWARE\Templafy key: Url, Token, Options (and AuthenticationMethod if provided). Uninstalling the MSI will automatically remove any registry values that was created on installation, but it will not remove any values or keys created after installation, which in some cases would leave the Templafy key behind. When the "all users" user uninstaller runs, it used the Templafy key to determine if Templafy Desktop was installed, which didn't work as expected in case the AuthenticationMethod was manually set after installation. In such cases the uninstaller would simply just exit with a message that Templafy Desktop was currently installed. The "all users" user uninstaller will now instead use the Url registry value to detect if Templafy Desktop is installed, which will be removed automatically when uninstalling for all users. Templafy Desktop Uninstaller incorrectly checks if Templafy is installed. When uninstalling Templafy Desktop for all users it will be uninstalled for each user when he/she logs in. If the admin reinstalls Templafy Desktop for all users before a user has logged in, it should not be uninstalled for that user. An error caused the uninstaller to still run when the user logged in, even though Templafy Desktop had been reinstalled. This has now been corrected so the uninstaller will only run if Templafy Desktop has not been reinstalled.
Templafy Desktop Client version 22.214.171.1241
Templafy Desktop Onboarding refinement
Before this version When a new user gets Templafy Desktop on their PC, they see an onboarding flow the first time Templafy Desktop updates. The onboarding is currently targeted to introduce library and email signature modules. As we are now having tenants with only ProductivityPlus and Check distributed through Templafy Desktop, it is no longer relevant for all users to see this onboarding flow. These tenants do not use User Profiles and therefore we do not need to validate them.
Onboarding flow is now separated from the login flow. Templafy need to know who the user is before being able to tell a user should have access to. Therefore, in any situation in which we cannot authenticate the user silently (quiet login with seamless single sign on), users will be presented with a new pre-login screen before the user is redirected to their chosen login method. This is a simple screen introducing Templafy and explaining that the user is required to Access Templafy. This screen has replaced the current welcome screen which is no longer relevant for all users. This welcome screen page has been moved to after authentication, when relevant for a given user. The authentication screen will close immediately after a successful login.
Once the authentication is successful, we decide to show the onboarding flow or not. To avoid showing the onboarding flow to users of tenants that do not use User Profiles, it is now possible to specify if the tenant uses User Profiles on a tenant level. If a tenant is set to not use User Profiles the users connected to that tenant will not see any steps of the onboarding flow.
In Sysop, there is an option under tenant details called “User profiles enabled”. Disabling this indicates that the tenant does not have any features that require the use of User Profiles. For the time being, this flag will not disable anything other than the onboarding flow for Templafy Desktop users.
This is the only change to what triggers Templafy Desktop onboarding. The previous behaviour is preserved. The change on its behaviour will be addressed in a later story, when we will know more about the module available to the end-user.
The architecture of the onboarding flow has changed so it is now possible to control which users see which pages purely from the website. This means it is possible to change which users see an onboarding flow and which pages they see without having to release a new version of Templafy desktop.
It is now also possible to modify the LogLevel registry entry in Templafy Desktop and use the new log level without requiring a restart of Templafy Desktop.
Templafy Desktop Client version 126.96.36.1990
Templafy desktop handling internal server error better
When an error occurred on the web server we logged this as an exception in Templafy Desktop. Because of this, it could look like Templafy Desktop was the cause of the error, which was not the case. To make it clear that the error happens on the server side, we now log the operation ID and response error message in the Templafy Desktop log file. Also, because the error was not caused by Templafy Desktop, a stack trace is not logged either
Templafy Desktop onboarding flow throws scripterror for Google Authentication
When authenticating with Google authentication, one page contains a syntax error according to the browser, and this will cause a popup asking if the web browser should continue despite the error. We will now use a customized browser for authentication and onboarding in Templafy Desktop which will not show these types of errors. The customized browser is used by default, but to avoid using it for debugging purposes it is possible to disable with the reg key
Error when synchronizing offline content if folders are filtered
When empty offline content folders was removed, Templafy Desktop would log an error, which was incorrect. The cleanup of offline content has now been fixed and the error will no longer occur.
Desktop notification when all is up to date is still 'Update completed successfully
When offline content was disabled, the user would continue to see the "Update completed successfully" even though nothing was actually modified. This is now fixed and only if the offline content folder is removed or changed, will the user be notified about a change.
Templafy Desktop Client version 188.8.131.529
TLS 1.2 support
TLS 1.2 support (Templafy Desktop host version 2.0 pre-requisite)
Include information about reasons for showing the onboarding flow
It was previously not possible to see why the Templafy onboarding flow was shown. Templafy Desktop now logs the reason(s) why the onboarding flow is being displayed.
Improved logging Improved and fixed logging and added additional logging when installing and uninstalling fonts.
Templafy Desktop Client version 184.108.40.2064
Originating registry key for OfficeUserTemplates folder in Templafy Desktop Client event logs Previously, the only log output provided, when Templafy Desktop started, was the final Office directories identified (i.e. the directories for OfficeUserTemplates WordStartup, ExcelStartup etc.). To improve the troubleshooting experience, Templafy Desktop now also output logs during the process of identifying these directories from the registry. If a directory is found to be configured in multiple locations for a single Office version, a Warning is output to the log and the first found location is used as always. This could be that the Office 2016 User Templates directory was found in both HKCU\SOFTWARE\Microsoft\Office\16.0\Common\General and HKCU\SOFTWARE\Policies\Microsoft\Office\16.0\Common\General, in which case, it previously would be difficult to determine which one was actually used.
Improved logging configuration
Support for configuring the log level at HKEY_LOCAL_MACHINE\SOFTWARE\Templafy\Desktop\LogLevel has been added. This should make it easier to get logs at the configured level when uninstalling/reinstalling Templafy Desktop, as this value is preserved across installations. This will also affect all installations in a multiuser setup.
The log level is evaluated in the following order:
- Command-line (running Templafy Desktop from the command line using TemplafyDesktop.exe /loglevel=...)
The following log levels are supported:
- Information (default and equal to not setting the level at all)
- Debug (useful for general troubleshooting)
- Verbose (noisiest - contains a lot of information about network requests etc.).
Add support for SlideProof
Latest version of SlideProof is deployed with a managed DLL instead of a native shim. This change required the replacement of file paths to also work for managed DLL's codebase.
November 2018 and earlier versions
Templafy Desktop Client version 220.127.116.119
Previously uninstalling Templafy Desktop would in edge cases leave certain files on the PC where it was installed.
Templafy Desktop Client version 18.104.22.1684
Don't show Templafy Desktop On-boarding flow if a user already exists with valid User Profile. Templafy onboarding flow is now only shown to users who have a new user profile.
Templafy Desktop Client version 22.214.171.1241
Fixed an issue where Templafy Desktop fails to download/update addins with /forceupdate. Templafy Desktop now ensures the user is running in interactive mode.
Templafy Desktop Updating issue - corrupt XML file Some customers experience invalid installation and package snapshot XML files, which caused Templafy Desktop to fail package updates. This is now fixed, and in case Templafy Desktop is unable to load (de-serialize) any of the XML files, it now logs a warning (including the exception) and continues as if the files were new.
Templafy Desktop Client version 126.96.36.1995
Fixed an issue where claims were not consistently updated on login. Claims will now be updated at least once every 24 hours.
Templafy Desktop Client version 188.8.131.521
Unable to Fetch Update Some zip packages contained entries with encoding, which was not handled properly in Templafy Desktop. This has now been fixed by preserving the original entry encoding in the packages.
This bugfix also adds integrity check for all files downloaded from blob storage by comparing the MD5 checksum and file size, provided by blob storage, with the actual data downloaded to disk. This should make it easier to detect file corruption caused by different factors (e.g. proxy server caching).
Templafy Desktop Client version 184.108.40.2069
Unable to Fetch Update. The specified blob does not exists In rare situations, a file could be missing in blob storage. Templafy Desktop now logs a warning, if a file is missing when downloading.
There is an error in XML document (0, 0). ---> System.Xml.XmlException: Root element is missing. Sometimes the packages.xml file could be empty for unknown reasons. In such cases Templafy Desktop now assumes a clean installation and ignores any packages already downloaded.
Upgrading Offline throws Access denied when synchronizing offline content, the ~OfflineContent folder could sometimes be locked by a different process. In this case, the synchronization would fail, as moving the folder could not be completed.
Templafy Desktop installed.xml file contains invalid user profile path
Check for updates available while update is running in the background
Templafy Desktop Client version 220.127.116.113
Performance improvement by supporting JWT authentication that speeds up loading of Add-ins.
Templafy Desktop Client version 18.104.22.1686
OfflineContent is now download to LocalAppData%/Templafy/OfflineContentSync.
Templafy Desktop Client version 22.214.171.1249
Support for user authentication in either current user or local machine context
Templafy Desktop Client version 126.96.36.1992
Network throttling enabled
Templafy Desktop Client version 188.8.131.521
Support for font distribution without requirement of admin rights.
Templafy Desktop Client version 184.108.40.2068
Fixed an issue where multiple instances where running simultaneously
Tweaked Offline Synchronization so "updated completed successfully" will not be shown wrongly.
Added support for HKLM AuthenticationMethod Fixed an issue with fetching ServerMode-Packages
Templafy Desktop Client version 220.127.116.114
Fixed an issue with the on-boarding flow appearing twice.
Minor bug fixes
Templafy Desktop Client version 18.104.22.1682
Offline support User on-boarding flow trigger moved to Client from VSTS
Templafy Desktop Client version 22.214.171.124
Citrix environment support