Nav Skills – Dynamics NAV in the Cloud or ‘On premise’

Anuncios

Get Started – Install NavContainerHelper

Original URL…

PS C:\WINDOWS\system32> get-command -Module navcontainerhelper

CommandType Name Version Source
———– —- ——- ——
Function Backup-NavContainerDatabases 0.3.0.1 navcontainerhelper
Function Compile-AppInNavContainer 0.3.0.1 navcontainerhelper
Function Compile-ObjectsInNavContainer 0.3.0.1 navcontainerhelper
Function Convert-ModifiedObjectsToAl 0.3.0.1 navcontainerhelper
Function Convert-Txt2Al 0.3.0.1 navcontainerhelper
Function Copy-FileFromNavContainer 0.3.0.1 navcontainerhelper
Function Copy-FileToNavContainer 0.3.0.1 navcontainerhelper
Function Create-AadAppsForNav 0.3.0.1 navcontainerhelper
Function Create-AadUsersInNavContainer 0.3.0.1 navcontainerhelper
Function Create-MyDeltaFolder 0.3.0.1 navcontainerhelper
Function Create-MyOriginalFolder 0.3.0.1 navcontainerhelper
Function Download-File 0.3.0.1 navcontainerhelper
Function Enter-NavContainer 0.3.0.1 navcontainerhelper
Function Export-ModifiedObjectsAsDeltas 0.3.0.1 navcontainerhelper
Function Export-NavContainerDatabasesAsBacpac 0.3.0.1 navcontainerhelper
Function Export-NavContainerObjects 0.3.0.1 navcontainerhelper
Function Get-CompanyInNavContainer 0.3.0.1 navcontainerhelper
Function Get-LocaleFromCountry 0.3.0.1 navcontainerhelper
Function Get-NavContainerAppInfo 0.3.0.1 navcontainerhelper
Function Get-NavContainerCountry 0.3.0.1 navcontainerhelper
Function Get-NavContainerDebugInfo 0.3.0.1 navcontainerhelper
Function Get-NavContainerEula 0.3.0.1 navcontainerhelper
Function Get-NavContainerEventLog 0.3.0.1 navcontainerhelper
Function Get-NavContainerGenericTag 0.3.0.1 navcontainerhelper
Function Get-NavContainerId 0.3.0.1 navcontainerhelper
Function Get-NavContainerImageName 0.3.0.1 navcontainerhelper
Function Get-NavContainerIpAddress 0.3.0.1 navcontainerhelper
Function Get-NavContainerLegal 0.3.0.1 navcontainerhelper
Function Get-NavContainerName 0.3.0.1 navcontainerhelper
Function Get-NavContainerNavUser 0.3.0.1 navcontainerhelper
Function Get-NavContainerNavVersion 0.3.0.1 navcontainerhelper
Function Get-NavContainerOsVersion 0.3.0.1 navcontainerhelper
Function Get-NavContainerPath 0.3.0.1 navcontainerhelper
Function Get-NavContainers 0.3.0.1 navcontainerhelper
Function Get-NavContainerServerConfiguration 0.3.0.1 navcontainerhelper
Function Get-NavContainerSession 0.3.0.1 navcontainerhelper
Function Get-NavContainerSharedFolders 0.3.0.1 navcontainerhelper
Function Get-NavContainerTenants 0.3.0.1 navcontainerhelper
Function Get-NavVersionFromVersionInfo 0.3.0.1 navcontainerhelper
Function Import-ConfigPackageInNavContainer 0.3.0.1 navcontainerhelper
Function Import-DeltasToNavContainer 0.3.0.1 navcontainerhelper
Function Import-NavContainerLicense 0.3.0.1 navcontainerhelper
Function Import-ObjectsToNavContainer 0.3.0.1 navcontainerhelper
Function Import-TestToolkitToNavContainer 0.3.0.1 navcontainerhelper
Function Install-NavContainerApp 0.3.0.1 navcontainerhelper
Function Install-NAVSipCryptoProviderFromNavContainer 0.3.0.1 navcontainerhelper
Function Invoke-NavContainerCodeunit 0.3.0.1 navcontainerhelper
Function New-CompanyInNavContainer 0.3.0.1 navcontainerhelper
Function New-CSideDevContainer 0.3.0.1 navcontainerhelper
Function New-DesktopShortcut 0.3.0.1 navcontainerhelper
Function New-LetsEncryptCertificate 0.3.0.1 navcontainerhelper
Function New-NavContainer 0.3.0.1 navcontainerhelper
Function New-NavContainerNavUser 0.3.0.1 navcontainerhelper
Function New-NavContainerTenant 0.3.0.1 navcontainerhelper
Function New-NavContainerWindowsUser 0.3.0.1 navcontainerhelper
Function Open-NavContainer 0.3.0.1 navcontainerhelper
Function Publish-NavContainerApp 0.3.0.1 navcontainerhelper
Function Remove-CompanyInNavContainer 0.3.0.1 navcontainerhelper
Function Remove-ConfigPackageInNavContainer 0.3.0.1 navcontainerhelper
Function Remove-DesktopShortcut 0.3.0.1 navcontainerhelper
Function Remove-NavContainer 0.3.0.1 navcontainerhelper
Function Remove-NavContainerSession 0.3.0.1 navcontainerhelper
Function Remove-NavContainerTenant 0.3.0.1 navcontainerhelper
Function Renew-LetsEncryptCertificate 0.3.0.1 navcontainerhelper
Function Replace-NavServerContainer 0.3.0.1 navcontainerhelper
Function Restart-NavContainer 0.3.0.1 navcontainerhelper
Function Setup-NavContainerTestUsers 0.3.0.1 navcontainerhelper
Function Start-NavContainer 0.3.0.1 navcontainerhelper
Function Start-NavContainerAppDataUpgrade 0.3.0.1 navcontainerhelper
Function Stop-NavContainer 0.3.0.1 navcontainerhelper
Function Sync-NavContainerApp 0.3.0.1 navcontainerhelper
Function Test-NavContainer 0.3.0.1 navcontainerhelper
Function UnInstall-NavContainerApp 0.3.0.1 navcontainerhelper
Function UnPublish-NavContainerApp 0.3.0.1 navcontainerhelper
Function Wait-NavContainerReady 0.3.0.1 navcontainerhelper
Function Write-NavContainerHelperWelcomeText 0.3.0.1 navcontainerhelper

PS C:\WINDOWS\system32> Write-NavContainerHelperWelcomeText

Welcome to the Nav Container Helper PowerShell Prompt

Container info functions
Get-NavContainerNavVersion Get Nav version from NAV container or image
Get-NavContainerImageName Get ImageName from NAV container
Get-NavContainerGenericTag Get Nav generic image tag from NAV container or image
Get-NavContainerOsVersion Get OS version from NAV container or image
Get-NavContainerEula Get Eula link from NAV container or image
Get-NavContainerLegal Get Legal link from NAV container or image
Get-NavContainerCountry Get country version from NAV container or image
Get-NavContainerIpAddress Get IP Address to a NAV container
Get-NavContainerSharedFolders Get Shared Folders from a NAV container
Get-NavContainerPath Get the path inside a NAV container to a shared file
Get-NavContainerName Get the name of a NAV container
Get-NavContainerId Get the Id of a NAV container
Test-NavContainer Test whether a NAV container exists
Get-NavContainerDebugInfo Get Troubleshooting info for NAV container if you need help with an issue
Get-NavContainers Get All Nav Containers
Get-NavContainerEventLog Get EventLog from Nav Container
Get-NavContainerServerConfiguration Get Server Configuration from Nav Container

Container handling functions
New-NavContainer Create new Nav container
Remove-NavContainer Remove Nav container
Stop-NavContainer Stop Nav container
Start-NavContainer Start Nav container
Restart-NavContainer Restart Nav container
Import-NavContainerLicense Import License to a NAV Container
Get-NavContainerSession Create new session to a Nav container
Remove-NavContainerSession Remove Nav container session
Enter-NavContainer Enter Nav container session
Open-NavContainer Open Nav container in new window
Wait-NavContainerReady Wait for Nav Container to become ready
Copy-FileFromNavContainer Copy file from Nav Container
Copy-FileToNavContainer Copy file to Nav Container
Export-NavContainerDatabasesAsBacpac Export database(s) in Nav Container as BacPac
Backup-NavContainerDatabases Backup database(s) in Nav Container as bak

Object handling functions
Import-ObjectsToNavContainer Import objects from .txt or .fob file to Nav Container
Import-DeltasToNavContainer Merge delta files and Import objects to Nav Container
Import-TestToolkitToNavContainer Import TestToolkit to Nav Container
Compile-ObjectsInNavContainer Compile objects
Export-NavContainerObjects Export objects from Nav container
Create-MyOriginalFolder Create folder with the original objects for modified objects
Create-MyDeltaFolder Create folder with deltas for modified objects
Convert-Txt2Al Convert deltas folder to al folder
Export-ModifiedObjectsAsDeltas Export objects, create baseline and create deltas
Convert-ModifiedObjectsToAl Export objects, create baseline, create deltas and convert to .al files
Invoke-NavContainerCodeunit Invoke Codeunit in Nav Container

App handling functions
Compile-AppInNavContainer Use Container to compile App
Publish-NavContainerApp Publish App to Nav container
Sync-NavContainerApp Sync App in Nav container
Install-NavContainerApp Install App in Nav container
Uninstall-NavContainerApp Uninstall App from Nav container
Unpublish-NavContainerApp Unpublish App from Nav container
Get-NavContainerAppInfo Get info about installed apps from Nav Container
Start-NavContainerAppDataUpgrade Start Data Upgrade for an App in a Nav Container
Install-NAVSipCryptoProviderFromNavContainer Install Nav Sip Crypto Provider locally from container to sign extensions

Tenant handling functions
Get-NavContainerTenants Get all tenants in Nav Container
New-NavContainerTenant Create tenant in multitenant Nav Container
Remove-NavContainerTenant Remove tenant from multitenant Nav Container

User handling functions
Get-NavContainerNavUser Get all users in Nav Container
New-NavContainerNavUser Create new Nav User in Nav Container
New-NavContainerWindowsUser Create new Windows User in Nav Container
Setup-NavContainerTestUsers Create a set of users for test purposes

Company handling functions
Get-CompanyInNavContainer Get a list of Companies in Nav Container
New-CompanyInNavContainer Create new Company in Nav Container
Remove-CompanyInNavContainer Remove Company from Nav Container

Configuration package handling functions
Import-ConfigPackageInNavContainer Import Configuration package in Nav Container
Remove-ConfigPackageInNavContainer Remove Configuratioin package from Nav container

Azure AD specific functions
Create-AadAppsForNav Create Apps in Aad for AAD authentication support
Create-AadUsersInNavContainer Create all active users in the Aad in the Nav Container

Azure VM specific functions
Replace-NavServerContainer Replace or recreate navserver (primary) container
New-LetsEncryptCertificate Create Lets Encrypt Certificate for secure communication
Renew-LetsEncryptCertificate Renew Lets Encrypt Certificate for secure communication

Note: The Nav Container Helper is an open source project from http://www.github.com/microsoft/navcontainerhelper.
The project is released as-is, no warranty! Contributions are welcome, study the github repository for usage.
Report issues on http://www.github.com/microsoft/navcontainerhelper/issues.

Get started – run your first NAV container

Start PowerShell ISE and run this command:

New-NavContainer -accept_eula -containerName "test" -auth NavUserPassword 
-imageName "microsoft/dynamics-nav"

to run your first NAV container using NavUserPassword authentication. PowerShell will pop up a dialog and require you to enter a username and a password to use for the container.

Note, if you are running Windows 10 , you will have to add –memory 4G as an extra parameter to the docker run command above (and in all docker run commands in this doc.)

GITHUB – Examples and use-cases for MS Dynamics NAV on Docker

Original URL…

Examples and use-cases for MS Dynamics NAV on Docker

!!! IMPORTANT !!!

At this moment, all examples use Docker images for MS Dynamics NAV provided by Microsoft.

Microsoft at the moment doesn`t provide the images in the public repositories (e.g. Docker Hub). Instead, there is a private repository for testing purposes only. Currently, they have been opened to give the access to the private/testing repository to anyone interested and willing to do some tests and provide a feedback. This can change at any moment I suppose.

Microsoft has recently started with publishing of the images into the official Docker Hub. Currently anyone can start using NAV on Docker. Please, read all the information in the repository to understand which version will be published in the repo, how to localize them and for what purposes you are allowed to use them. Microsoft, many thanks!!!

Also, you can visit Microsoft GitHub repository nav-docker with the source code they use to build the images. There, you can also register any issue that will appear during the testing.

It is pretty possible that some examples could fail because of the breaking changes in the sources images. Please, in this case I will appreciate your feedback (create an issue).

PREREQUISITES AND GENERAL SETUP

  • Docker has to be installed and properly configured on your Win10 / WinServer2016 (or higher) machine. Some examples will need some extra setups but those will be described for each example explicitly.
  • If you want to install Docker EE on your Windows Server you can use InstallDockerEE.ps1 script that will install Containers Windows Feature and then Docker EE. The script can be used also to upgrade your current version. It detects an existing (installed) Docker EE version present on your host and let you compare your version with the newest one available to download and install. If you confirm the new version will be downloaded and installed. This is very useful in case you are waiting for a specific Docker release and you want to check if this release has been already pushed into the repo or not.
  • By default, we will be using NAT network which is the default one configured during the Docker installation process. You can find more details about Docker networking here.
  • All examples specify NAV docker image using ${NAV_DOCKER_IMAGE} variable. This gives us some sort of flexibility in case Microsoft migrate the repository or change the name of the images, tags etc.
  • So the first step, before you run any script including docker run command, is setting the variable. For example:
# Private Microsoft Repository for NAV previews and for internal purposes.
$NAV_DOCKER_IMAGE = 'navdocker.azurecr.io/dynamics-nav:devpreview'

# Official images available on Docker Hub (I will use the last W1 version):
$NAV_DOCKER_IMAGE = 'microsoft/dynamics-nav'

EXAMPLES

  • basic – This is the most elemental example. I would recommend running exactly this one at the very first moment to validate that everything is working fine. You specify the minimum of the parameters.
  • basic with user+pwd defined – Similar to the previous one but you specify user name, user pwd, container hostname, container name. There are also described some security concerns (security of the password you use). The example includes two variants.
  • winauth (shared) + VS Code – This example demonstrates shared Windows authentication. We will also see new security approach that will protect your password. This security approach is applicable to any authentication mechanism (so the WinAuth is not the only one) that requires providing a password in an explicite way.

    We will created and published ClickOnce package. And finally, we will try to connect from VS Code to the container`s dev services.

  • winauth on Docker Swarm + Secrets – One of the advanced scenarios. We will increase the security of your credentials using Docker Swarm`s Secrets. We will also talk about the scaling capabilities of the Docker Swarm. You will need to promote your docker host on the Docker Swarm node. But don`t worry, this is actually quite easy to do.
  • share data using mounts – In case you need to share (for example) add-ins between your Docker host and containers Docker Volumes would be probably the easiest way for you.
  • locally copied C/SIDE – An example that will demonstrate how to copy client folder down to your docker host to be able to access C/SIDE without installing it. You don`t need to run gMSA. Actually, I use the WinAuth hack (mentioned before) in the example.
  • gMSA – This is one of the most complex examples, it will be updated when I have some time. I am starting with the scripts, later I’ll improve them and I’ll add the documentation.

How to get the new Dynamics 365 Business Central and extend it

Original URL…

What is it?

Dynamics 365 Business Central is the new and, I hope, the last official name of Dynamics NAV.

No more Dynamics 365 Finance and operations Business Edition, no more Dynamics 365 “Tenerife”, even no more Dynamics NAV (basically it is yes now, until Q4 2018, when D365BC on-premise will be released)!

The official announcement was made 4 days ago and can be found here.

2 days after at DirectionsASIA we’ve got much more information about the product from Microsoft team.

The official hashtag is #MSDyn365BC, and if you will search it on twitter you will find a huge portion of images and info about new web client, new roadmap, new possibilities and so on.

But this blog is not about What’s new staff. It is about How to get it?

Step 1. Register on collaborate portal

If you are already registered – skip it. If not, go to https://aka.ms/collaborate and register.

The registration process is very nice described here https://docs.microsoft.com/en-us/collaborate/registration

Just go steps by steps, and you should be able to see this

 

Step 2. Register on Ready to Go program (Updated)

After publishing first version of this blog, I’ve got many questions about why D365BC is not visible on collaboration portal. Because of this step was missed. Sorry. Updated.

If you are already registered – skip it. If not you should sign up for Ready to Go program http://aka.ms/ReadyToGo

To do so, after step 1, please write an e-mail to Dyn365BEP@microsoft.com

When contacting, please provide following information:

Publisher display name Name Email Role
Chosen during registration, should be the same for all users User 1 Email 1 Power user (can access content and add new users to engagements)
User 2 Email 2 Participant (can access content)
Etc. Etc. Power user

The registration process should take 1-2 business days.

After successful registration, you will be able to see this

 

YES! This is pre-release version of NEW Dynamics 365 Business Central.

If you click on it you will find something interesting, guess what?

.Zip, DVD?  No =)

You will find 2kb txt file with instructions of …. How to get it via Docker.

Download it.

Advantages of Ready to Go program

Ready to Go program, it is not only the possibility to download and play with pre-release versions of Dynamics 365 Business Central.

The idea is to prepare every partner for new SaaS world. It consists of training materials on http://aka.ms/ReadyToGoOnlineLearning and also potentially coaching through a Development Centres

BTW. If you want to prepare yourself for new modern SaaS world, you can also contact me for individual workshops and coaching.

Step 3. Create new Docker container with Dynamics 365 Business Central

But first, Install Docker.

If you don’t have docker, then download and install it. You can choose to download a full docker client or only a module.

You can download and install docker as a module executing this code in PowerShell

invoke-webrequest -UseBasicparsing -Outfile docker-17.09.0-ce.zip 
https://download.docker.com/win/static/stable/x86_64/docker-17.09.0-ce.zip
# Extract the archive.
Expand-Archive docker-17.09.0-ce.zip -DestinationPath $Env:ProgramFiles

# Clean up the zip file.
Remove-Item -Force docker-17.09.0-ce.zip

# Install Docker. This requires rebooting.
$null = Install-WindowsFeature containers

# Add Docker to the path for the current session.
$env:path += ";$env:ProgramFiles\docker"

# Optionally, modify PATH to persist across sessions.
$newPath = "$env:ProgramFiles\docker;" +
[Environment]::GetEnvironmentVariable("PATH",
[EnvironmentVariableTarget]::Machine)

[Environment]::SetEnvironmentVariable("PATH", $newPath,
[EnvironmentVariableTarget]::Machine)

# Register the Docker daemon as a service.
dockerd --register-service

# Start the Docker service.
Start-Service docker

#Next steps are optional!

#Run test container, to check that Docker is alive
docker container run hello-world:nanoserver

# Check what containers do you have
docker ps

Next, install Navcontainerhelper

I personally love what Freddy has done to us. So I will use navcontainerhelper to simplify my work.

Run next script in PowerShell

Install-Module -Name navcontainerhelper -Verbose

If, you are running it on Windows10, check that your policy is allowed you to install new modules.

If it is restricted, then change it

Create new D365 Business Central container

1)    Login to azure container register, to be able to pull (download) D365BE Image (also in powershell).

docker login "navinsider.azurecr.io" -u 
"insert-user-id-here-from-Build-21063.txt-file" -p " 
insert-password-here-from-Build-21063.txt-file "

2)    Choose what version of Business Central do you want.

Currently available 14 Versions and W1!

dynamics-nav:11.0.21063.0

dynamics-nav:11.0.21063.0-finat

dynamics-nav:11.0.21063.0-finbe

dynamics-nav:11.0.21063.0-finca

dynamics-nav:11.0.21063.0-finch

dynamics-nav:11.0.21063.0-finde

dynamics-nav:11.0.21063.0-findk

dynamics-nav:11.0.21063.0-fines

dynamics-nav:11.0.21063.0-finfi

dynamics-nav:11.0.21063.0-finfr

dynamics-nav:11.0.21063.0-fingb

dynamics-nav:11.0.21063.0-finit

dynamics-nav:11.0.21063.0-finnl

dynamics-nav:11.0.21063.0-finse

dynamics-nav:11.0.21063.0-finus

3)    Create new container

I will use W1 version, so I run next command in PowerShell

New-NavContainer -accept_eula -alwaysPull -imageName 
"navinsider.azurecr.io/dynamics-nav:11.0.21063.0" -containerName D365BC-W1

and after a while – about 5 minutes of pulling (depends on your internet speed), and 2 minutes of initialization – we have it!

This wonderful, modern look and feel web UI

Hmm…. Not really what I was expected =)

Let’s try old trick =) We will add ?aid=fin to the end of our URL.

So url will be http://d365bc-w1/nav/?aid=fin

 

Much better now!

By the way, if you will create a container from US image (dynamics-nav:11.0.21063.0-finus), then we will have new web UI by default.

 

Step 4. Extend it!

Install Visual Studio Code AL extension

First copy .vsix file on your host.

To do so, copy a link to vsix file from container creation log

Open it in a browser

Click Save.

Open Visual Studio Code. Go to Extentions -> … -> Install From Vsix

Create new AL project

As usual, press Crtl + Shift + P -> AL:Go

We change server in launch.json (take it from container creation log), and authentication to Windows.

Press Crtl + Shift + P -> AL:Download Symbols

Then we will create some new code.

We will add one more insight to RoleCenter. This is really wow feature of new UI.

After publishing (ctrl+F5) we will see new insight!

And we’ve done!

I encourage you to take all advantages of Collaborate and start exploring Dynamics 365 Business Central right now!

Create apps with PowerApps and Dynamics NAV

Original URL…

Some of you have tried to build apps using PowerApps and the connector for Dynamics NAV. For some, it turned out to be more difficult than expected, and you’ve asked for some guidance from Microsoft. Well, here we go: The Dynamics NAV connector requires ODataV4, and that means Dynamics NAV 2017 or Dynamics NAV 2018. But it’s not that straightforward.

The connector

It exists, allright, but only in preview. However, you can use it to connect to your Dynamics NAV data through a PowerApps canvas app. So why haven’t we talked about it in the docs for Dynamics NAV? After all, we do mention PowerApps in the context of Dynamics 365 Business Central, and you all know that those two brands are actually the same code base, so what’s going on?

We haven’t promoted the Dynamics NAV connector because the current connector hinges on technology that doesn’t work well with the amounts of data that an average customer has. We hope to deliver an updated version, as we wrote in an announcement for using Microsoft Flow earlier this year (it’s technically the same connector). Until then, we recommend caution in the objects that you expose as ODataV4 web services and use in PowerApps.

Get it to work anyway

Yes, you can build an app in PowerApps that connects to Dynamics NAV 2017 or Dynamics NAV 2018. But it requires special circumstances, and, as stated above, you might want to be careful about using the Customer List or similar pages with many lines.

To add Dynamics NAV as a data source in PowerApps

  1. Make sure you have a Dynamics NAV deployment that work with Office 365 Single Sign-On. That can mean using Azure Active Directory, for example.
  2. Expose the objects you need as ODataV4 web services
    1. Think small, as in the User Tasks page rather than the Customer Ledger Entries page
    2. Make sure that the OData V4 endpoint port is exposed through the firewall. The default port is 7047, but it is configurable. This is a general requirement to use web services outside of the internal network.
  3. Get an account for PowerApps. Optionally, get a free trial
  4. Read the steps that are described for Business Central, – but don’t follow them just yet!
    1. Instead, make sure that your web services are ready to consume, and test that you can get to them through the firewall.
    2. If you’re in a multitenant environment, you must the configure the URL in step 6 in the procedure for how to connect to Business Central to have the tenant in the host name and not in the query parameter, as described here.
  5. Now you’re ready to go – follow the steps as described for Business Central, but in step 6 use the right URL.
    1. If multitenant, it’s this format: http://mytenant.myservice.com:7048/DynamicsNAV/ODataV4/Company(‘CRONUS-International-Ltd.’)
    2. If not multitenant, it’s this format: http://myserver:7048/DynamicsNAV110/ODataV4/Company(”CRONUS-International-Ltd.’)
    3. Make sure you specify the right names and port, of course.

At the end, you should be able to connect.

But what about the other versions of Dynamics NAV?

Sorry, we haven’t tested if the connector can be persuaded to use web services other than ODataV4. If you have Dynamics NAV 2016 or older, you don’t have ODataV4, and so you probably can’t use PowerApps. But again, maybe you can, but from our point of view the scenario is not supported.

Service announcement

This is just FYI – our blog is targeted by a couple of spam generators these days, and that means that some of your comments might be caught by the spam filter. Due to the volume of incoming spam comments, we can’t easily find your perfectly legitimate comments. So if your comment doesn’t show up, it’s not because we’re neglecting you.

Upgrading to Microsoft Dynamics NAV 2018

Original URL…

Applies to: Microsoft Dynamics NAV 2018. See Microsoft Dynamics NAV 2017 version.

This topic provides an overview of how to upgrade to Microsoft Dynamics NAV 2018. The upgrade process depends on different factors, such as the version of Dynamics NAV that you are upgrading from, and the degree to which your solution differs from the standard version of Dynamics NAV. The mains tasks range from converting the database to upgrading application code and data.

Use the following table to determine the procedures that you must complete for your upgrade scenario.

Scenario Procedures
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2015
  • Microsoft Dynamics NAV 2016
  • Microsoft Dynamics NAV 2017
  1. Upgrade the Application Code
  2. Upgrade the Data
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2013
  • Microsoft Dynamics NAV 2013 R2
  1. Upgrade to Microsoft Dynamics NAV 2018 Cumulative Update 2:
    1. Download Microsoft Dynamics NAV 2018 CU2.
    2. Upgrade the Application Code
    3. Upgrade the Data
  2. Upgrade to the latest Microsoft Dynamics NAV 2018 cumulative update (CU):
    1. Upgrade the Application Code
    2. Upgrade the Data
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2009 SP1
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 5.0
  • Microsoft Dynamics NAV 4.0
  1. Upgrade to Microsoft Dynamics NAV 2013.
    For more information, see Upgrading to Microsoft Dynamics NAV 2013 in the MSDN Library.Alternatively, you can upgrade from Microsoft Dynamics NAV 2009 SP1 or Microsoft Dynamics NAV 2009 R2 to Microsoft Dynamics NAV 2015 as described on the Dynamics NAV Team Blog.
  2. Upgrade to Microsoft Dynamics NAV 2018 Cumulative Update 2.
    1. Download Microsoft Dynamics NAV 2018 CU2.
    2. Upgrade the Application Code
    3. Upgrade the Data
  3. Upgrade to the latest Microsoft Dynamics NAV 2018 cumulative update (CU) by following steps a and b above.

After the upgrade, links between interaction records and logged email messages is lost. To resolve this issue, the administrator has to log all mails again to restore the links. For more information, see Logging Interaction Links are Lost When You Upgrade from Microsoft Dynamics NAV 2009 R2.

Technical upgrade of Microsoft Dynamics NAV 2018 database to a new platform version with no application changes, such as with a cummulative update

You can also use this procedure to convert a previous Dynamics NAV database to Microsoft Dynamics NAV 2018 technical requirements, and then upgrade the application and data later.

Before you begin the upgrade process, see Upgrade Considerations for tips about things to consider when you prepare to upgrade to Microsoft Dynamics NAV 2018.

Automating the Upgrade Process using Sample Windows PowerShell Scripts

You can use Windows PowerShell scripts to help you upgrade to Microsoft Dynamics NAV 2018. You can use automation to upgrade a single Dynamics NAV database as well as multiple Dynamics NAV databases that use the same application. Microsoft Dynamics NAV 2018 provides sample scripts that you can adapt for your deployment architecture. For more information, see Automating the Upgrade Process using Sample Windows PowerShell Scripts.

See Also

Product and Architecture Overview
Migrating to Multitenancy
Deployment
Transforming Forms to Pages

Upgrading to Dynamics NAV 2018 from Dynamics NAV 2013 or Dynamics NAV 2013 R2

Original URL…

If you want to upgrade a customer’s database from Dynamics NAV 2013 or Dynamics NAV 2013 R2, you may have noticed that the latest Dynamics NAV 2018 cumulative update does not have a direct path to upgrade from these earlier versions.

The solution is to upgrade to Dynamics NAV 2018 Cumulative Update 2, and then upgrade to the latest Dynamics NAV 2018 cumulative update.

For more information, see Upgrading to Dynamics NAV 2018, which has been updated accordingly.

We hope this helps those of you who have been confused about Dynamics NAV 2018 Cumulative Update 3, and we apologize for the experience you had. Going forward, please use the processes outlined in Upgrading to Dynamics NAV 2018.