In Microsoft Dynamics NAV 2009, the RoleTailored client could only be deployed using a standard Windows Installer (.msi). While this is a common scenario, .msi-based deployment requires the partner to do customer visits, do remote logons, or educate the customer’s IT administration to install the Windows client and any additional add-ins, change any client-side settings, or upgrade the client (manually or through group policy).
This approach does not scale well in on-premise solutions that have a lot of users or in volume Azure or syndication scenarios when the Windows client is needed rather than a Web client for deeper functionality or better performance.
Thus, in Microsoft Dynamics NAV 2013 a new way of deploying the Microsoft Dynamics NAV Windows client, using ClickOnce, has been introduced, providing benefits such as:
These benefits allow for a more streamlined and centralized deployment of the Microsoft Dynamics NAV Windows client in high volume scenarios such as Azure.
In this blog post we’ll dig a bit into ClickOnce, the end-user and partner experiences, and the benefits and current limitations of deploying the Microsoft Dynamics NAV 2013 Windows client using ClickOnce. In other blog posts about implementation, we’ll dive into the technical details around how to actually create a ClickOnce application for the MIcrosoft Dynamics NAV 2013 Windows client.
ClickOnce Overview
ClickOnce is a standard deployment technology — starting with .NET Framework 2.0 — that allows you to create self-updating Windows-based applications that can be installed from a Web server or network file share and run with minimal user interaction. It addresses three major issues in deployment:
In use, ClickOnce is basically a configurable file copy from a repository to the client machine that, at a high level, consists of three parts:
With the above created, the application can be installed by the end user by running the deployment manifest. Typically, this is accomplished by hosting the above files and providing a link to the application and deployment manifest to the end user, for example, on a landing page or in an email message, after the user has signed up for a solution and required a client to be installed.
For more information on ClickOnce, see ClickOnce Security and Deployment in the MSDN Library.
The End-User Experience
To install Microsoft Dynamics NAV 2013 using ClickOnce deployment, the end user will choose the link to the application, the deployment manifest, that is provided in a landing page or email message. The link may point to a file share or a website. Using the .NET Framework on the client machine, the ClickOnce runtime runs the linked deployment manifest and opens with a confirmation dialog box, such as the dialog box shown in the following illustration.
If the user chooses the Install button, ClickOnce downloads all the necessary files to a local folder on his computer. This folder is a per user folder, located in the ClickOnce generic application cache for the user: <user>\AppData\Local app folder), not in the standard Program Files folder.
When the installation is complete, ClickOnce installs a program shortcut on the Start menu and starts the Microsoft Dynamics NAV 2013 Windows client, using the connection settings provided as part of the installation. No configuration is needed during or after installation as this is set up as part of the ClickOnce Windows client application.
The next time that the end user wants to run the Windows client, he can either select the link again, or he can select the shortcut on the Start menu. In either case, ClickOnce will check if there is a newer version available, which the user will have the option to install.
The Partner Experience
To create a ClickOnce deployment of a Microsoft Dynamics NAV 2013 client with settings, add-ins, and so forth, the typical process for a partner is to:
The above process will typically take 30-60 minutes to set up the first time. Repeating this process on changes in low fluctuating on-premise installations makes sense. In the case where the same vertical solution and Windows client setup is to be used by multiple different customers, the clientusersettings.config file will be different, it is better to streamline the above process by creating a script for creating the basic customer-agnostic client installation, and then inject clientusersettings and recompile and sign on the fly.
As mentioned, in other blog entries we’ll dig into the technical steps on how to set up a ClickOnce deployment. See also the Help topic Deploying Microsoft Dynamics NAV Using ClickOnce in the MSDN Library.
Benefits of a ClickOnce Deployment of the Microsoft Dynamics NAV 2013 Windows Client
ClickOnce deployment resembles traditional Windows Installer-based deployment. In addition to .msi-based deployment functionality, ClickOnce provides the following benefits:
The result is that end users can install the Windows client without relying on partners or super users to do it for them.
Using Windows Installer vs. Using ClickOnce
A ClickOnce-deployed Windows client has some limitations compared to the Windows client installed by the Windows Installer. These limitations are not a technical shortcoming of the ClickOnce framework, but a scoping of the provided support in Microsoft Dynamics NAV 2013, based on what we expect the typical usage of ClickOnce for deployment to be. The following are the limitations:
If any of these limitations is an issue in the given deployment scenario, and the benefits of the ClickOnce deployment scenario do not outweigh this, the guideline is to use the standard Windows Installer-based Microsoft Dynamics NAV Windows client deployment instead.
The following table provides a summary of the value proposition for Windows Installer and ClickOnce:
-Peter Borring Sørensen