I am sure you are aware, the Universal App displaying Dynamics NAV Tablet client and Dynamics NAV Phone client is targeted at users in small and medium sized businesses that want to access data from a tablet or a phone. Some of the advantages of offering this solution are portability and flexibility, when the user is away from the desk, traveling, between meetings, passing time and so on. However, for the partners and customers to make use of these benefits, it is vital for them to be able to connect the Universal App with Dynamics NAV 2016.
This blog explains the steps with easy to follow screenshots, to connect the Universal App Tablet client or Phone client with Dynamics NAV 2016 VM. The purpose is to make it easy for you to be able to demo this awesome feature to prospects.
In this example, I connected the Dynamics NAV 2016 VM in Azure to the Universal App I installed on my tablet.
In brief, I could achieve this in three phases -
- Phase1: Find and Install the Universal App from Marketplace
- Phase2: Install and configure the Dynamics NAV 2016 VM in Azure
- Phase3: Connect the Universal App to the Dynamics NAV 2016 VM in Azure
Described below are the steps taken to complete these three phases.
Phase1: Find and Install the Universal App from Marketplace
Step1.1: Downloaded the Universal App in the Windows Tablet. Located the Universal App in Marketplace and installed the Universal App in the Windows Tablet -
Step 1.2: Installed the App in the Windows Tablet
Phase2: Install and configure the Dynamics NAV 2016 VM in Azure
In this phase, I configured and enabled Dynamics NAV 2016 VM on Azure, to connect with the Universal App.
Step 2.1: Logged-in to Azure from https://manage.windowsazure.com
Step 2.2: Selected most current version of the available Dynamics NAV 2016 Virtual Machine from Gallery.
Step 2.3: Entered a name for this VM and login credentials for the Admin of this VM
Step 2.4: Selected the ‘Affinity Group’ closest to my geographical region.
Step 2.5: Confirmed the information displayed to begin the VM creation process in Azure.
Step 2.6: Observed the VM creation process in Azure
Step 2.7: In a few minutes, the Dynamics NAV 2016 VM is created in Azure and is in a 'running' state, available for use.
Step 2.8: In order to use the Virtual Machine as a demo environment, and to use the demo scripts in the Virtual Machine, added the following public endpoints to the Virtual Machine:
- HTTP 80
- HTTPS 443
- Client 7046
- Soap 7047
- Odata 7048
- Help 49000
I added the endpoints using the Microsoft Azure Management Portal. Clicked on the recently created VM (circled below) -
Step 2.9: Clicked on the 'Endpoints' tab of the VM instance.
Step 2.10: Clicked on the "+" sign to add an endpoint.
Step 2.11: Navigated to the next tab of this wizard.
Step 2.12: Selected the name of this endpoint, the public port and the private port.
Step 2.13: Confirmed the information.
Step 2.14: Observed the endpoint creation process for this VM instance in Azure
Step 2.15: In a few minutes, the endpoint is created.
Step 2.16: Repeated steps 2.10 to step 2.15, to create an endpoint HTTPS port 443
Step 2.17: Clicked on the "+" sign to add another endpoint.
Step 2.18: Navigated to the next tab of this wizard.
Step 2.19: Entered the name of this endpoint as 'Client', the public port and the private port as '7046'. Confirmed the information.
Step 2.20: In a few minutes, the endpoint is created.
Step 2.21: Repeated steps 2.17 to step 2.20 to also create these endpoints -
- Soap 7047
- Odata 7048
- Help 49000
Alternatively, I could have added these endpoints in the Step 2.4, while creating this Virtual Machine.
Step 2.22: Once the endpoints were created and the VM is in a 'running' state, selected the VM and clicked on the 'Connect' button.
Step 2.23: The Azure portal downloaded a .rdp file. Received a prompt to open or save the file.
Step 2.24: Clicked on the .rdp file, and was asked to connect to the remote machine.
Step 2.25: Entered the login credentials for the Admin of this VM, which was entered in step 2.3 while creating the VM. The default domain for the Dynamics NAV 2016 demo environment is 'contoso'.
Step 2.26: Once logged in to the demo VM, and before installing any of the demonstration packages, I initialized the Virtual Machine. I did this by right-clicking the Initialize Virtual Machine.ps1 file and selected Run with Powershell. In the demo VM, the default location of this file is in the 'DEMO' folder in 'C' drive. On a high level, the script is performing these steps.
- Option: install a specific country version
- Install or create SSL Certificate
- Add admin user and change to Username/Password auth.
- Configure NAV to use SSL
- Open ports for Clients
- Open ports for Web Services
- Open port for Help Server
Step 2.27: The script will ask some questions. I accepted the default option for the first question, to change the execution policy.
Step 2.28: I accepted the default option for the next question, NAV language
Step 2.29: I accepted the default option to restore the database file, for the third question.
Step 2.30: And I accepted the default option for NAV administrator username
Step 2.31: I accepted the default option for NAV administrator password, also.
Step 2.32: I accepted the default option for the cloud service. This answer is the public DNS name for the Virtual Machine.
Step 2.33: I accepted the default option for the certificate file, which is for creating and using a Self Signed Certificate.
Step 2.34: Now, I tested the installation and its configuration by accessing the demonstration environment using the Microsoft Dynamics NAV 2016 Web client. I did this by entering the following URL in the browser -
The username and password I agreed for when I initialized the demo VM using the powershell script –
I was able to login to the demonstration environment using the Microsoft Dynamics NAV 2016 Web client
Phase3: Connect the Universal App to the Dynamics NAV 2016 VM in Azure
Step 3.1: If I had installed the Microsoft Dynamics NAV Universal App on the same VM, I could have entered the following in the Service Name to access NAV from the App -
And entered the same username and password we had agreed for during initialization –
However, I installed the Microsoft Dynamics NAV Universal App on another machine (my tablet). So, I had to install the certificate created during initialization of the VM, in the ‘Trusted Root Certification Authorities/Certificates’ folder of my tablet.
Step 3.2: I could have installed this certificated in my tablet by opening the browser to access Dynamics NAV from the Web Client. That is by entering the URL –
And clicked on the Certificate error > View Certificate > Install Certificate
Step 3.3: I chose to copy the certificate saved in the Virtual Machine’s desktop when I initialized the VM. So, I copied this certificate to the tablet where I installed the Microsoft Dynamics NAV Universal App.
Step 3.4: I saved the certificate on the tablet's desktop and double clicked the certificate. I was prompted with an option to install the certificate.
Step 3.5: I chose 'local machine' for the 'store location'.
Step 3.6: Selected a place for the 'store location'
Step 3.7: Selected the 'Trusted Root Certification Authorities/Certificates’ folder.
Step 3.8: Confirmed the selected settings for this wizard.
Step 3.9: In a few minutes, a pop-up confirmed the successful completion of the certificate import
Step 3.10: Now, I started the Microsoft Dynamics NAV Universal App I had installed on my tablet, in phase1. I entered the following service name -
Step 3.11: Entered the same username and password agreed for during initialization of the VM –
Step 3.12: And connected the Universal App installed on my Windows tablet to the Dynamics NAV 2016 VM in Azure.
And the following two pictures display the same NAV instance connected from -
- Physical Machine:
- Windows Phone:
Thus, I could connect the Universal App installed on my Windows tablet and the Windows phone, to the Dynamics NAV 2016 VM instance in Azure. And, connect the Dynamics NAV 2016 Windows Client from the NAV VM in Azure, to the same NAV instance configured in Azure.
Hope this blog post is informative and of use for you 🙂