Posts

  • Moved my blog to GitHub...

    Yesterday, I saw a post on LinkedIn from one of my connections, talking about moving from Wordpress to GitHub. Unfortunately, I have been unable to figure out who, else I wanted to say thanks! And, yes…, I join the apparently 100s of people moving off Wordpress to either Lovable, GitHub or other platforms with the help of AI. I found myself with $85 worth of Fable 5 credits, which had to be used for something right, so why not put...

  • AL-Go for GitHub Enterprise

    GitHub.com is the standard multi-tenant public platform where anyone can host personal or org repos, public or private. GHE.com refers specifically to GitHub Enterprise Cloud with data residency — a separate product tier where your enterprise gets its own dedicated subdomain (e.g., octocorp.ghe.com) instead of living on github.com/octocorp. The Challenge At this time, AL-Go for GitHub doesn’t work on GHE.COM enterprises, but there might be a solution for this ahead. I was contacted by Fellowmind in Sweden, who wanted to...

  • What a year it has been!

    Roughly one year ago, my “lifetime” employment with Microsoft came to an abrupt end after 23 years of service – and what a year it has been… After publishing my layoff announcement on LinkedIn, which had approximately 1.1 mio views, 7200+ likes and 550+ comments, I decided that my biggest asset was probably my name and reputation. So I created my own company, Freddy.DK ApS, with the goal to stay active in the Business Central community as long as it...

  • All good things come to an end

    After 23 engaging years at Microsoft – and having made it through at least 10 rounds of layoffs – my name was pulled from the hat, and I was asked to pack my things and leave. That is obviously not entirely how it went, but it definitely is how it felt. On the bright side, this gives me the chance to pursue a long-overdue dream: starting my own business and helping customers and partners in areas where I can truly...

  • Automatic AppSource Submission of Business Central apps

    A request from many partners have been to be able to automatically submit apps to AppSource Validation from their DevOps setup. The Ingestion API for Partner Center supports all offer types in AppSource and can be used to submit updates to Business Central apps to AppSource. Unfortunately, the API comes with very little documentation and the sparse documentation doesn’t contain any information about Business Central. If you however want to investigate things by yourself, the primary docs are: https://docs.microsoft.com/en-us/azure/marketplace/azure-app-apis –...

  • Working with AL-Go for GitHub preview

    If you want to have the latest updates of AL-Go for GitHub, you can update your repository and use https://github.com/microsoft/al-go-pte@preview or https://github.com/microsoft/al-go-appsource@preview as your template repository. This means that you will get new updates before they are released. It also means that the actions you are using are instantly updated when we deploy a new version for preview and thus might be out of sync with your workflows. One example of this is the preview, which was released yesterday (June...

  • Invoke-ScriptInBcContainer

    As mentioned in this blog post, the Invoke-ScriptInBcContainer has undergone some serious changes in BcContainerHelper 3.0.9, which just shipped. This blog post will describe some details about how this function works. The function takes a containerName, a scriptblock and an argument list as parameters and will execute this scriptblock inside the container. The function does however have two ways of performing the exact same function. If the user is using PowerShell as administrator AND the setting called usePsSession is not...

  • Major improvement when invoking scripts in Containers…

    I recently learned that some partners have had had issues when running build pipelines on Azure DevOps with multiple DevOps agents on the same host using Containers with process isolation. 1-2 years ago, we did a number of fixes to support multiple agents on the same host, and I thought that had fixed things, but apparently this was not true. Hopefully the fixes, which are going into BcContainerHelper today will fix this once and for good. Not a BcContainerHelper problem...

  • Secrets in AL-Go for GitHub

    This blog post will not reveal any secrets in AL-Go for GitHub:-) Instead, it will explain ways for you to store secrets, which are used for AL-Go for GitHub. In almost every DevOps setup, you will have to store some keys, passwords, tokens or like. In GitHub, these are called secrets and AL-Go will look for a set of secrets by their name. This blog post will also touch upon how you can use GitHub organizations and environments with your...

  • Resilience

    Lately we have been seeing an increasing number of people having difficulties creating Docker containers on multiple host OS’. Since Thursday, I have been diving into error reports on GitHub, looking in Telemetry and had some partners helping out trying various tests to see what the result of various changes would be. As an example, achim-t have run test scripts at least 20 times here, since it wasn’t possible for me to repro the problems, but also this, this and...

  • Deployment strategies and AL-Go for GitHub

    When you are done developing your app, it needs to be deployed to your customers if it is a PTE or to AppSource if it is an AppSource app. Currently we don’t have any automated way of publishing your app to AppSource – that is something we are working on and some day in the future, when it becomes possible, you will get a workflow in AL-Go for GitHub which handles this automatically. This blog post will talk about PTEs,...

  • Branching strategies for your AL-Go for GitHub repo

    If you teach yourself to follow a fairly simple set of rules, you will see that the health of your project will increase dramatically, and you will be in a better place with your project development. So, I will at the ripe age of 56 bestow upon you these 5 rules, which can be applied to any project, using any DevOps setup. In the following I will explain how to implement these rules using AL-Go for GitHub: Use Pull Requests...

  • Preview of future AL-Go for GitHub functionality

    Like everything else these days, AL-Go for GitHub now also is available in a preview version, which you can install/apply and remove as you like. This allows you to get advantage of a bugfix or new functionality faster. NOTE that when using the AL-Go preview version, you will have to update the AL-Go system files when you are told to, changes to the AL-Go actions might cause your version of the workflows to fail if not updated. The template repository...

  • 20 years…

    On May 1st, 2002, I walked through the doors of Navision in the Offices in Vedbæk for the first time. A few days earlier rumors had started that Microsoft was going to acquire Navision, but things weren’t settled yet. The Acquisition was formally announced on May 7th and was finalized on July 11, 2002, so my 20-year anniversary as a Microsoft employee is on July 11th, but for me, May 1st will always be the date where I started working...

  • Structuring your AL-Go for GitHub repositories

    When developing apps for Business Central, you very frequently will have more than one app. You might split one customer specific app into multiple smaller apps or you might have a common app, which contains common functionality for all your customer specific or AppSource apps. This blog post describes the thinking behind AL-Go for GitHub and how we recommend you setup your GitHub repository structure and why… High Level Use the shipping vehicle to determine the repository/project structure. On a...

  • Migrating to AL-Go for GitHub

    As explained in the first blog post about AL-Go for GitHub the next post would be all about how to migrate your repository to AL-Go for GitHub. Whether you have a setup based on the first CI/CD Hands-On-Lab or you have the latest generation, it should be fairly easy to migrate to AL-Go and get all the benefits with that, but it is a manual process. The following scenarios are described in this post: From a CI/CD HOL based repo...

  • AL-Go for GitHub

    It has been a while since my last blog post and the reason behind this is quite simple: I have been busy. Busy creating AL-Go for GitHub. AL-Go for GitHub is plug-and-play DevOps for Business Central PTEs or AppSource apps on GitHub. A tool, which does NOT require you to modify PowerShell scripts, change .yaml workflows or pipelines, but still allows you to setup and maintain full DevOps for your Business Central projects with a click of a button. AL-Go...

  • Telemetry in BcContainerHelper 3.0.0

    BcContainerHelper 3.0.0 just released and as something new, you will see this message when importing the module: BcContainerHelper emits usage statistics telemetry to Microsoft What does that mean? Can you avoid that? Who can access the emitted telemetry data? How? Can you use telemetry for troubleshooting? Can you use telemetry for other things? This blog post will try to answer these questions. First of all, what is usage statistics? Usage statistics is collects information about which functions are called/used in...

  • Trojan Warning when creating Containers…

    UPDATE: with defender update 1.353.1128.0 or later, this false positive is no longer. With the latest update to Windows 11 and defender, my computer is telling me that I have a Trojan Virus every time I create a container. Well, I don’t – it is a false positive and there is probably no good workaround possible. On my machine, running the Windows Server Core image in process isolation like: docker run -it --isolation process mcr.microsoft.com/windows/servercore:ltsc2022 powershell Immediately pops up a...

  • An update to the ARM templates

    It’s been a while since I last blogged about the ARM templates. Mostly because they just live a life of their own and just works. An average of 20 times a day, some partner somewhere in the work is using https://aka.ms/getbc to create an Azure VM with Business Central running in a container (or one of the other ARM templates) directly from a browser. On top of this are all the partners who are automating the process of creating Azure...

  • Docker and Business Central

    Over the last few months, there has been quite a few blog posts and discussions on social media based on blogs posts from Docker, Microsoft and Mirantis indicating new pricing structure. In this blog post I will try to make the options for running Business Central on Docker clear. The two major products used for running Business Central containers are Docker Desktop and Mirantis Container Runtime (formerly known as Docker Engine – Enterprise). Both products include Docker Engine and adds...

  • Restoring your online Business Central database locally

    1½ years ago I wrote a blog post called Mounting a database from my online environment using SQL Server on the host. This blog post explains exactly the same thing, just end 2 end and much easier to understand (I hope), using artifacts and some new functions in BcContainerHelper. The steps involved in restoring your online Business Central database locally are: Installing/configuring prerequisites Determine artifacts based on the version of your online Business Central environment. Backup your online Business Central...

  • Managing secrets in your scripts

    Most people have tried it. You are writing a script, which connects to a service using a user name and a password or you are using a Shared Access Service token to access insider builds from Microsoft and you just put the “secret” values right there in your source code. After all – it is only you who can access the data on your computer right? and you will of course remember to mask out these secrets if you ever...

  • NavContainerHelper doesn’t work anymore…

    With a total of over 300000 downloads, NavContainerHelper is no more. As of this weekend, NavContainerHelper cannot be used to create containers anymore. There has been a lot of blog posts here on my blog and others that indicated that this day would come and now it is here… – all specific images are gone and with those all the “old” generic images, which was used by NavContainerHelper. I will contact PowerShell Gallery to get the entry removed. RIP NavContainerHelper,...

  • Running Business Central in Docker using SQL on the host

    This is not my first blog post about how to use SQL Server on the host, but it is definitely the one describing the easiest way to do it. With the latest version of BcContainerHelper you can (with one Run-BcContainer command) create a container which uses SQL Server on the host as database engine for the container. The functionality was actually enabled in version 1.0.14, but there are a few bug fixes, so I recommend that you use the latest...

  • Running tests in Business Central Online Sandbox environments

    For quite some time, it has been possible to run automated tests in Docker using the Run-TestsInBcContainer function and it is my strong belief that this is used by a lot of partners today. Since 17.2, the Test Runner is available in Online Business Central Sandbox environments for installation from AppSource. From Extension Marketplace, you can install the Test Runner, open page 130451 and run your test manually. With BcContainerHelper 2.0.4 or later, you can also run tests in online...

  • Removing all specific NAV and Business Central Docker Images

    On October 27th 2017, I posted the first announcement which introduced NAV on Docker. For approx. 3 years we published Docker images first to Docker Hub and later to Microsoft Container Registry for both Windows Server 2016 and Windows Server 2019. Many 1000 images was pushed to the container registries until we during the summer of 2020 changed strategy to use artifacts together with the generic image. The various versions of specific images on different container OS’ amounts to more...

  • Publishing apps to a Business Central Online Environment

    There are 2 kinds of apps: AppSource Apps and Per Tenant Extensions (PTEs). These apps can be installed in two kinds of environments: Sandbox and Production. In Production, AppSource Apps are installed in the global scope and Per Tenant Extensions are installed in the Tenant Scope. In Sandbox environments you can also install apps to the development scope (like what VS Code does). This blog post will describe how you can use BcContainerHelper 2.0.2 to install apps in any of...

  • BcAuthContext

    The latest version of BcContainerHelper (BcContainerHelper version 2.0.1 | Freddys blog) comes with a new concept called a BcAuthContext. A BcAuthContext is really just a hashtable with authentication information for a Business Central online tenant. This blog post describes the concept and how to obtain and refresh a BcAuthContext. Subsequent blog posts will describe how to use them. A BcAuthContext is created using New-BcAuthContext. New-BcAuthContext supports 4 different OAuth2 flows: Devicecode – this flow is where you will be asked...

  • BcContainerHelper version 2.0.1

    Version 2.0.1 of BcContainerHelper was shipped with a number of very exciting new featuers. This blog post will list the features and I will have to document them elsewhere. Run-AlPipeline and Compile-AppInBcContainer with -failOn ‘error’ will now mark a build as succeeded with Warnings if there are warnings in the build. New-BcContainer with -FilesOnly will create a container with no service tier, no sql database, no IIS, just all the files from a normal docker container copied to a container...

  • How to use Run-AlValidation

    When releasing the first version of Run-AlValidation in BcContainerHelper, i did a quick blog post about the function here. This blog post serves to explain some common scenarios of how to run the function. The blog post will also explain the parameters of Run-AlValidation a bit more in depth, for people to have a good chance of using the function before submitting for AppSource Validation. Note: The parameters and the functionality described in this blog post requires BcContainerHelper 1.0.19 or...

  • TimeStampServer – you had one job!

    The important part of this blog post: Please make sure to upgrade to BcContainerHelper 1.0.18 or reconfigfure the timestampServer in your existing version. December 30th 2020 we got a number of apps for validation failing due to a wrong timestamp signature. Some partners discovered this before submitting and filed an issue on github here, complaining about this error: “The timestamp signature and/or certificate could not be verified or is malformed.“ I was enjoying a nice walk in the forest with...

  • Moving the generic images!

    UPDATE: The tag of the SQL 2017 image is no longer {0}-0.1.0.25 – it is now {0}-sql2017. A few years ago, when we started out shipping containers for NAV, we didn’t know that the name NAV was going away and Business Central would emerge. In the Docker world, this becomes clear in a lot of ways. The Generic image is called mcr.microsoft.com/dynamicsnav:-generic The PowerShell module was called NavContainerHelper The first repo on Docker hub was microsoft/dynamics-nav The projects on github...

  • Run-AlValidation and Run-AlCops

    On December 1st, I co-hosted a webinar about how people can make sure that their app passes AppSource Validation. Until now, I have always been preaching that people should run CI/CD and include AppSourceCop validation in their CI/CD pipeline, which is supported in the Run-AlPipeline function. But…, as I prepared for the session, it became evident that it would be really helpful to have a function, which basically does exactly the same as our validation pipeline. Run-AlValidation is the closest...

  • Using GitHub for DevOps

    For the last 2 years we have had the Hands On Lab (https://aka.ms/cicdhol) in a few iterations using Azure DevOps as the platform. Latest revision was published a few weeks ago. There are however multiple platforms for DevOps out there and I wanted to investigate the functionality of Github, which also is part of the Microsoft family and probably the biggest provider of devops services to developers in the world. Azure DevOps vs. GitHub This blog post is not going...

  • 18 hours of no containerhelper…

    Friday morning around 6am. I had just kicked off a few validation builds when they started failing. Failing builds can happen and typically there is a valid reason for this, but in this case – ALL builds was failing and looking in the logs I quickly realized that this problem was something different. PowerShell Gallery was down, PowerShell Gallery had an outage and it took a stunning 18 hours before it was back online…:-( Issues, Emails, Tweets etc… I got...

  • Multitenant sandbox containers changes behavior…

    With the change to BcContainerHelper, sandbox containers became multitenant by default. This means that you have to remember the ?tenant=default in the WebClient and the “tenant” : “default” in launch.json. The reason for this change was, that sandbox containers needs to feel and act like online tenants and online tenant are… – tenants. I did however miss out on one thing, which I was made aware of over the weekend. The default tenant is mounted with AllowAppDatabaseWrite. This was done...

  • Troubleshooting Business Central on Docker

    This blog post is not really a troubleshooting guide (although there is a small TSG at the end). It is more like a brain dump of what I have seen over time and how I would approach a trouble shooting session. I have divided it into 6 sections: Dockers worst enemy (just FYI) Installing Docker Installing BcContainerHelper Creating a Business Central container Keep the script, not the Container Frequently seen docker errors Going forward, I will add a link to...

  • BcContainerHelper configuration

    The one thing most people have complained about in NavContainerHelper is that you cannot decide where it places it’s temporary files. With the shift to artifacts that got even worse because also artifacts was now placed on the c: drive. With the shift to BcContainerHelper – this is now possible. Remove All Containers and shift Before you rush out and uninstall NavContainerHelper and install BcContainerHelper – please remove all containers first: Get-NavContainers | Remove-NavContainer After this, you can run Uninstall-Module...

  • Run-AlPipeline

    WARNING: Very boring long blog post ahead… Run-AlPipeline is a new function in BcContainerHelper. It has been in preview for a number of releases while being worked on, and a number of partners have already tried to use it. My apologies for changing things under your feet, but to my defense – I did write that the function was in preview. With version 1.0.8 of BcContainerHelper, Run-AlPipeline is ready for real-life usage… (I think) Goal The goal of this function...

  • One of these days…

    Many years ago, I heard a joke: 3 people (a biologist, a mathematician and a developer) were in Africa on a Safari. They drive by a blue elephant. The biologist shouts out: “Look, there is a BLUE elephant.”. The mathematician states: “Right you are, there is ONE blue elephant”. The developer slaps his palm against his forehead and says: “Damn, there are blue elephants…“ As developers we often make assumptions and when we see these assumptions no longer being true,...

  • BcContainerHelper

    Before you read anything, please understand that NavContainerHelper is still available in the PowerShell gallery and it will still be available for the foreseeable future. Existing pipelines using NavContainerHelper can continue running – no problem just yet. Future innovations and changes to support future versions of Business Central might require you to switch to BcContainerHelper. BcContainerHelper is another PowerShell module available in the PowerShell Gallery here: https://www.powershellgallery.com/packages/BcContainerHelper. BcContainerHelper is a replacement for NavContainerHelper. Although you can install both modules side...

  • July updates are out – they are the last on-premises docker images

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. Business Central and NAV July 2020 on-premises updates was published over the weekend and this is going to be the last on-premises version of Business Central and NAV released as a docker image. The existing docker images will stay on mcr.microsoft.com for some time still, but no new on premises images will be added. If this is news to you, you should read https://freddysblog.com/2020/06/25/changing-the-way-you-run-business-central-in-docker/ and...

  • New-BcContainerWizard aka Business Central on Docker script generator…

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. I have been wanting to create a repository of scripts, where you could locate the right script for your usage. The problem I ran into was however that the number of scripts in a repository like that would very quickly explode. Yesterday evening while riding my bike, I got an idea… Why not create a script generator script for Business Central on Docker. A script,...

  • The ARM Templates now supports artifacts… (and images)

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. I know a lot of partners and customers are using the Business Central ARM templates to create an Azure VM, which runs a specific version of Business Central (or NAV). This blog post describes what changed. Images still supported First of all, the ARM templates still supports docker images. This means that if you are provisioning Azure VMs using the ARM templates through a PowerShell...

  • Run Business Central in docker using a custom generic image

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. The change to running Business Central in docker using artifacts also opens a new opportunity of running Business Central using a custom generic image. Why would you do that? Most people will probably not have to create their own generic image, but if you for some reason aren’t satisfied with the internals of the generic image, maybe you want a different version of SQL inside...

  • The Hello World CI/CD sample

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. Quite a few partners have build their CI/CD pipelines based on the HelloWorld CI/CD sample repository here: https://dev.azure.com/businesscentralapps/HelloWorld (the one used in the Hands On Lab – http://aka.ms/cicdhol). I have just finished the upgrade of this repository to use artifacts instead of docker images. This blog post describes the changes done. Settings.json https://dev.azure.com/businesscentralapps/HelloWorld/_git/HelloWorld?path=%2Fscripts%2Fsettings.json Settings.json was changed to include artifacts instead of container images. Also I...

  • CI/CD and artifacts

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. Only a few days have gone since releasing information about how to run Business Central in docker using artifacts and already a lot of people have tried this out and a lot of people are looking into changing their CI/CD pipelines to use artifacts. On premises / Specific version If your pipeline is running using an om-premises build or using a specific version of NAV...

  • Working with artifacts

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. As a follow up to this blog post (make sure you have read this first), this blog post will share some details about working with artifacts. How do you find them, what do they contain and what happens when you try to use them. It is primarily a list of the new functionality in NavContainerHelper for working with artifacts. I will also provide a blog...

  • Changing the way you run Business Central in docker…

    Update 2021/2/10: BcContainerHelper has replaced NavContainerHelper. This blog post still reference NavContainerHelper, which is outdated. Just as you thought you were getting the hang of running Business Central in docker, then you see this title! Your first thought is probably how big the changes are to your pipelines and to your scripts and how much time you will have to perform these changes. Easy now! Nothing will have to change overnight – everything that worked yesterday should still work and...

  • Running tests on Business Central 16.0

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. On April 1st, we shipped Microsoft Dynamics 365 Business Central 2020 Wave 1. It is a great release with a lot of exciting new features, which I will leave to others to...

  • The world after the February update

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As you probably discovered, the February 2020 security update had a significant impact on NAV/Business Central Docker Containers. Especially if you were running Process isolation. Most visible problem was the fact that...

  • Small issue in BC 2019 Wave 1 CU9

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Business Central 2019 wave 1 CU9 was shipped in February and it contains a small bug, which can cause some time consuming troubleshooting. Therefore this blog post. Issue #859 https://github.com/microsoft/navcontainerhelper/issues/859 was the first...

  • hyperv isolation to the rescue!

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Update More information on this topic can be found here: http://freddysblog.com/2020/02/26/the-world-after-february-18th/ February 11th 2020 On this date, the February security updates for Windows was released, and over the next days, Windows 10...

  • Ready To Go Office Hours, 2020-02-04

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Yesterday, I had the pleasure of co-hosting the Office Hours on the Ready To Go Program with Peter Borring and Dmitry Chadayev. If you are unfamiliar with the Ready To Go program,...

  • Weekend cleanup… – done

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Update: Weekend cleanup is done and the latest daily builds from master (next major) and 15.x (next minor) are updated. I have also updated the number below from 45 days to 7...

  • Having Demo Data while developing Business Central Apps with Docker

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I have always preached that you shouldn’t try to keep your Docker containers running. Containers should be something, which easily can be dismissed and recreated for any developer. One of the frequent...

  • Please check your version of Docker!

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. In Microsoft, we are constantly in search of ways to improve security for our customers. Customers must feel safe when using our services and leaving their precious data in our hands. Sometimes...

  • Upgrading to 15.x from 14.x C/AL – our NAV TechDays 2019 demo

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. WARNING: VERY LONG BLOG POST AHEAD! My session at NAV Tech Days this year was together with Nikola Kukrika and we did an end 2 end walk-through of how to upgrade a...

  • Mounting a database from my online environment using SQL Server on the host

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This blog post is really a combination between the last two blog posts, https://freddysblog.com/2019/11/04/using-sql-server-on-the-host/ and https://freddysblog.com/2019/11/12/mounting-a-database-backup-from-my-online-environment-inside-a-container/. As stated in the last blog post, you can only use databases of less than 10Gb...

  • Mounting a database backup from my online environment inside a container

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Just recently, a new functionality was enable in the Dynamics 365 Business Central admin center. The ability to request a backup. It didn’t take long before I got the first question from...

  • Using SQL Server on the host

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I have had quite a few partners asking me how to connect a NAV / Business Central container to a SQL Server placed on the host. This is the way I started...

  • Running Tests In Containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Running automated tests is an essential part of any CI/CD strategy. For Business Central, we have been able to use containers and the function Run-TestsInNavContainer in the NavContainerHelper PowerShell module as described...

  • Directions EMEA 2019

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Vienna is the place to be next week for NAV and Business Central professionals. Directions EMEA 2019 start Wednesday and runs through Friday. Seven This year seven is my lucky number, as I...

  • Publishing a New Base Application

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I think I have mentioned before, that I strongly recommend partners to use the extension model and create extensions, which can be published, installed and upgraded much easier then code customizations. Having...

  • Using APIs on containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. A while ago, I added two functions to the ContainerHelper for using APIs on containers: Get-BCContainerApiCompanyId Invoke-BCContainerApi In the end, these functions are just invoking a REST method on the container, so...

  • ContainerHelper 0.6.4.1

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Now and then, I decide to blog about a version of NavContainerHelper. The version shipped today (0.6.4.1) is one of these. What’s  new Backup/Restore databases in containers Speed up repetitive container generation...

  • A cure for Zombie containers…

    If you have been infected by Zombie containers, fear not – a cure is found. And it looks like this: Right click the whale icon and search for updates… Enjoy Freddy Kristiansen Technical Evangelist

  • Running tests in 15.x insider containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you didn’t read this blog post: https://freddysblog.com/2019/04/13/running-tests-in-containers/, then please do so before proceeding. This blog post will only describe what’s new when running tests in 15.x containers, which while writing this...

  • Blogging about Wave 2

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Update – with the release of the public preview (described in this blog post: https://cloudblogs.microsoft.com/dynamics365/it/2019/09/04/business-central-2019-release-wave-2-preview/) the NDA has been lifted. One month ago, we started making insider builds of wave 2 available...

  • Business Central on Docker for non-experts…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. With the release of NAV and Business Central images on Docker, a lot of people who are not familiar with Docker and Containers will be using Business Central on Docker. Using Business...

  • Zombie containers -> Skip This Build?

    Yet Another Update: A cure is found… http://freddysblog.com/2019/09/05/a-cure-for-zombie-containers/ Another Update: Docker engine 19.03.2 (and docker Desktop 2.1.0.2) should be released first week of September with a cure for Zombie containers. Update: A way to bring your Zombie Container back to live is in the comments by Mick Carr (THANKS MICK) – just tried this and it works on my Computer with 2.1.0.1 as well. Basically modify the containers config.v2.json, change running to false, restart docker and now your container is dead...

  • PowerShell for non-experts…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. With the release of NAV and Business Central images on Docker, a lot of people who are not familiar with PowerShell will be using PowerShell. They will be handed a script to...

  • Organizing your .al files

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This blog post is primarily directed towards partners who wants to do AL code customization in Microsoft Dynamics 365 2019 release wave 2. Even though the tools can be used for extension...

  • Preview of Dynamics 365 Business Central 2019 release wave 2

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As of today, we have started to create Docker images of Business Central 2019 Wave 2 preview on bcinsider. This blog post will describe how to get the image, what you can...

  • You are running a container which is xx days old…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Recently, when running an instance of a Microsoft Dynamics NAV Docker image from the docker hub, you will get a message like: You are running a container which is 78 days old....

  • The ARM templates for Dynamics 365 Business Central and Microsoft Dynamics NAV

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Moving quickly towards a world, where C/SIDE and C/AL development in Dynamics 365 Business Central is history, I have made some cleanup of the ARM templates and this blog posts describes the...

  • NAV and Business Central Docker images moved to Microsoft Container Registry…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you are using public Microsoft Dynamics NAV or Microsoft Dynamics 365 Business Central on Docker, this blog post contains important information. First of all, I am sorry that I didn’t publish...

  • CPU usage in Business Central Containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I have had a few people come back and complain about high CPU usage when using Business Central Containers, so I decided to look into this, and see what could be done....

  • Debugging “hangs” in Business Central Spring 2019 RTM and CU1

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. During the last week, we have seen an increasing number of people having issues with debugging in VS Code against a Docker Container running Business Central. At the same time, we had...

  • Business Central Fall 2019 Preview Availability

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. There is a lot of excitement and buzz these days and partners have approached me asking for the insider builds from our master branch. Hold back on the search, we will NOT...

  • Windows 10 1903 (and Business Central Containers)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Some weeks ago, I read about Windows 10 1903 in a blog post from Mike Fortin here: https://blogs.windows.com/windowsexperience/2019/04/04/improving-the-windows-10-update-experience-with-control-quality-and-transparency. Since general rolllout wasn’t until May, I decided to wait until after Directions NA...

  • Bugfix: Something went wrong

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I have had a few partners reporting a strange bug when using the Web Client in Business Central spring release. Running tests, applying configuration packages or running other long running tasks in...

  • C/AL to AL code customizations

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This blog post will take you through the steps needed to convert C/AL code customizations to AL code customizations. I will show how to create a container and convert the C/AL baseapp...

  • C/AL to AL extension

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This blog post will take you through the steps needed to convert a C/AL solution to an AL extension. When moving a solution from C/AL to AL, it is important that you...

  • C/AL to AL – preparations…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. A few weeks ago at Directions Asia it was announced that Dynamics 365 Business Central Spring 2019 was the last release based on C/AL. Fall 2019 release is to be based on...

  • Running Tests in Containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Since the very start of NAV and Business Central on Containers, it has been possible to run tests through the UI (Windows Client and Web Client), just as you have been able...

  • Placing the database on the host…

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I have had quite a few partners asking me how to connect a NAV / Business Central container to a SQL Server placed on the host. Even though this sounds like a...

  • NavContainerHelper 0.5.0.11

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I don’t write blog posts about every single version of the NavContainerHelper, but I wanted to call out a few things in this version. .app instead of .fob Both NavContainerHelper and the...

  • Symbols demystified

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Over the last months, I have received a lot of questions on Symbols: Why does Compile-AppInNavContainer get different symbols than VS Code? When I import new objects to Business Central, why don’t...

  • What’s new in NavContainerHelper 0.5.0.1

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. NavContainerHelper 0.5.0.1 was released recently. Read this blog post to learn what’s new. Run As Administrator – or not! NavContainerHelper now supports running as a standard user, but it does require you...

  • Process Isolation for containers in Windows 10

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. For a few months we have known that Docker for Windows would get support for process isolation under Windows 10. Arend-Jan Kauffmann explained how to use nightly builds from Docker to get...

  • Clean up after yourself Docker, your mom isn’t here!

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Update: After writing this blog post, Docker Desktop has a feature called Reset To Factory defaults…  I use this function now and then (instead of the DockerCiZap) to cleanup everything in my...

  • Business Central Build Numbers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Now and then, I get questions about the build numbers – what do they all mean? I always try to tell people that they don’t really need to know but for some...

  • NAV and Business Central Docker images now available for Windows Server 2019

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As of today, all NAV and Business Central Docker images are available for Windows Server 2019 as well as for Windows Server 2016! It doesn’t sound like a big deal, but believe...

  • Developing Business Central Extensions (part 5) – YAML

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This is part 5 of a blog post series. Part 1 contains all the prerequisites, part 2 is about cloning the project and get your sandbox environment up running, part 3 is...

  • Windows Server 2019 and SQL Server 2017

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Windows Server 2019 (1809) finally shipped (again) and with that we have a new LTSC (Long Term Servicing Channel). This means that we will begin creating images for Windows Server 2019 as...

  • Developing Business Central Extensions (part 4) – Branch Policies

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. This is part 4 of a blog post series. Part 1 contains all the prerequisites, part 2 is about cloning the project and get your sandbox environment up running and part 3 is...

  • Developing Business Central Extensions (part 3) – Build Pipeline

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read part 1 and part 2, you should do so before continuing here. Part 1 contains all the prerequisites and part 2 is about cloning the project and get your sandbox...

  • Developing Business Central Extensions (part 2) – Repository/Environment

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read part 1, you should do so before continuing here. Part 1 contains all the prerequisites you need in order to continue with this post. Create your organization and...

  • Developing Business Central Extensions (part 1) – Prerequisites

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. A professional development environment When developing customizations for Microsoft Dynamics NAV, we have been used to have object modifications and source code stored in the database. A lot of partners have setup...

  • Windows 10 and Docker Images for Business Central / NAV

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. It feels like a lot more, but actually it is only about one year ago, we started shipping NAV Container Images on Docker. Business Central Containers followed shortly after and today a...

  • NavContainerHelper 0.3.1.0 and a new Docker Generic build 0.0.6.6

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Over the weekend, a new version of the NavContainerHelper (version 0.3.1.0) has been uploaded to the PowerShell Gallery with a few bug fixes and a few extra functions. Also a new version...

  • AAD authentication, Edit In Excel, Embedded PowerBi and http://aka.ms/GETNAV

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I do not have a count of how many time somebody have asked me, e-mailed me, sent messages asking for the “old” NAVDEMODEPLOY with NAV 2018 or Business Central Sandbox Containers. What...

  • The hackathon at UG FOCUS 18

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As many of you know, we conducted a Hackathon at the UG FOCUS in Indianapolis this week. “A hackathon, a hacker neologism, is an event when programmers meet to do collaborative computer...

  • A “new” learning opportunity – the Hackathon at NAVUG Focus 18

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I know, a Hackathon is not something new. Hackathons have existed at least half a decade, but how can a Hackathon be a learning opportunity? Typically we see a Hackathon as an...

  • What Docker Image is right for you?

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. The last year has been quite a journey for people using Docker images for Microsoft Dynamics NAV or Dynamics 365 Business Central. Images have been available in various places and private registries,...

  • Enabling Premium Experience in Business Central Sandbox Containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. A few people have discovered that manufacturing, production and other functionality which only is available when using Premium Plan is not available when running a Business Central Sandbox Container. The reason for...

  • Who are you following?

    Update april 12th – added a few to my list – have more reading to do:-) Dynamics 365 Business Central and Dynamics NAV is part of a vibrant community with a lot of very active people. Tweets, blog posts, webinars, books, github projects could easily fill up my day just trying to follow everybody who are working on our product. This blog posts lists some of the people/sites you can follow if you, like me, are passionate about Dynamics 365...

  • NAV on Docker 0.0.5.5 or… – What’s new

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As some users of NAV on Docker has noticed, the images gets rebuild from time to time. We typically rebuild all images when we have changes to the generic layer, which might...

  • NavContainerHelper – Setup CSIDE development environment with source code management

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Most partners have different ways of setting up their CSIDE development environments and a number of partners are also using source code management to manage their source code. I have seen a...

  • NavContainerHelper – Overriding scripts in NAV containers

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. When building, running or restarting the NAV container, the c:\run\start.ps1 script is being run. This script will launch navstart.ps1, which...

  • NavContainerHelper – Use an external SQL Server as database connection in a NAV container

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. If you have a created a SQL Server container using one of the methods described any of the blog posts:...

  • NavContainerHelper – Create a SQL Server container and restore a .bak file

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. The following script sample, will create a new SQL Server container and restore a NAV 2018 database backup...

  • NavContainerHelper – Create a SQL Server container with the CRONUS database from a NAV container image

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. The NAV container images contains SQL Express with the CRONUS Demo Database. If we want to get a...

  • NavContainerHelper – Start a NAV container and place the database files on a file share on the host computer

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. The database files are placed inside the container by default. If you want to copy the database to...

  • NavContainerHelper – Specify your own Database backup file to use with a NAV container

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. If you have a database backup file (.bak), you can specify that as parameter to the container. You...

  • NavContainerHelper – License

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. By default the NAV containers are using the CRONUS demo database and the CRONUS Demo license file is...

  • NavContainerHelper – Authentication

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. This post covers the different ways of setting up authentication for your Container. Specify username and password for...

  • NavContainerHelper – Certificates

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read the first post about the NavContainerHelper, you should do so. If you want to secure the communication to your container, you need to use a certificate. Use SSL...

  • NavContainerHelper

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. What are Containers? What is Docker? If you are new to Docker and Containers, please read this document, which describes what Containers are and what Docker is. If you want more info, there...

  • NAV on Docker version 0.0.4.1

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers. This blog post reflects the old way of using NAV/BC on Docker. Some of you might already know what lies behind this cryptic title, some of you might not care. This post describes what changed in the Generic image version 0.0.4.1, which today is the foundation of all images on the Docker hub and of...

  • Can I run NAV 2015 (and earlier) on Docker?

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. NAV on Docker is here to stay, and a lot of partners have discovered how NAV on Docker can save a lot of time in their development processes. NAV ships and maintains...

  • Creating workshop machines on Azure

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. During Directions US and Directions EMEA, we had to spin up approx. 2000 Azure VMs for our hands on labs. All of these machines was deployed individually from PowerShell (multiple simultaneous jobs,...

  • The 10 command(ment)s of Docker (NAV on Docker #6)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. I recommend that you read this blog post before reading this. In this blog post I will describe the 10 docker commands I use most frequently and what I use them for....

  • Multiple ways to run a NAV on Docker image (NAV on Docker #5)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. If you haven’t read this blog post, then please do so before continuing here. A lot of examples (like the prior blog post) will use docker run to start a NAV on Docker...

  • 1-800-GETNAV (Nav on Docker #4)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. What a cool phone number to have if you are a NAV partner in the US. Inspired by that and modernized it to the cloud world, it would be: aka-ms-getnav So here...

  • 1709 and NAV on Docker

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As of yesterday evening Windows Server version 1709 (with and without Containers) is available on Azure: I thought it would be a good idea to describe how this relates to the NAV...

  • What is docker? What are Containers? What can I use containers for? (NAV on Docker #3)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. You have probably heard that all released Microsoft Dynamics NAV versions since NAV 2016RTM now are available as Docker images on the public Docker Hub. If not – then you have now!...

  • devpreview builds now also available on the Docker Hub

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Saturday we posted all NAV 2016 and NAV 2017 public builds to the Docker Hub. Today the October update of the developer preview is also on the Docker Hub to run locally,...

  • Troubleshooting NAV on Docker

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. With the release of official NAV images on Docker Hub, we will probably see a larger uptake of people trying this great technology. In this post I have included the issues people...

  • It has never been easier… (NAV on Docker #2)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. As of this morning, all shipped cumulative updates (+ all localizations) of Microsoft Dynamics NAV 2016 and 2017 are available as Docker images in the Docker Hub, ready for execution on a...

  • A small step for man kind but a giant leap for us! (aka NAV on Docker)

    Update 2021/2/10: Microsoft stopped creating images for Docker in the summer of 2020. We now publish artifacts, which can be used to spin up containers and BcContainerHelper has replaced NavContainerHelper. This blog post reflects the old way of using NAV/BC on Docker and references NavContainerHelper, which is outdated. Some months ago, a colleague tried to convince me that Docker was the new black and I really had to look at that. Today, we have started deploying Official Microsoft Docker Images...

  • iOS 10 and self signed certificates

    With the release of iOS 10, Apple have changed the way self-signed certificates works and since self-signed certificates are a vital part of the Microsoft Dynamics NAV Demo Environment setup, I thought I would describe how to connect to a Demo Environment, signed by a self-signed certificate from an iPad or an iPhone. It is no longer sufficient to install the profile (self-signed certificate), you also have to trust the certificate… Install the Self-Signed Certificate from the Landing page After...

  • What would you do?

    Lately, a number of  ISVs have asked me this question: If you where me, what would you do? To give the question a little context, we are talking about Solutions, Customizations, Extensions, Modifications or whatever name you use. We are talking On-prem, Hosted, Managed Service, Dynamics 365 for financials. What is the magic bullet? What should the ISV do in order to make sure that you are ready for the future, without wasting a lot of time. The answer can...

  • Create a secure Url to a file

    In the very last paragraph of this post, I talk about specifying a certificate pfx file as a Url for http://aka.ms/navdemodeploy: The Url needs to start with http:// or https:// and today (while writing this post) this is the only parameter that you need to specify as a secure Url, but I am planning to create more parameters like this: License file Demo Database Extensions All things that you want to have in a secure location and control access to it, while...

  • SSL Certificates 101

    This is not an exhaustive description about SSL certificates. Instead it is an explanation about why self-signed SSL certificates doesn’t always work for you and a high level description of what you need to do in order to install a trusted SSL certificate on the Azure image. First… – understanding DNS (Dynamic Name Service) In order to understand the usage of SSL certificates, we need to understand the DNS. The DNS is like the Phone/Address Book of the internet. If...

  • NAV and Multi Factor Authentication (MFA)

    Over the last weeks I have gotten an increasing number of inquiries around MFA. To be honest, I had never tried to setup MFA before, but that didn’t stop me from answering. My typical answer would be the following: NAV itself does not have any knowledge about multi factor authentication, but we do support claims based authentication through authentication providers and if these authentication providers are setup for MFA, then NAV should support MFA through the authentication provider. Having answered the same...

  • How is this perf testing thing actually working?

    This post is #3 in a series of posts about performance testing. Post #1 was all about setting up an instance of NAV on Azure and get perf tests up running. Post #2 was all about scaling the number of users and running multi-tenancy. But what actually happens when running perf tests? When running a perf test called OpenCustomerList it doesn’t take a lot of thinking to figure out what the test does, but how does it do it? The...

  • The BingMaps Extension (and some tips and tricks)

    On the Azure VM, you will find a couple of extensions: BingMaps, O365 and MSBand. These extensions are primarily there in order to show how you would do certain things in extensions. It is my intention to create an app in AppSource for each of these apps as well when time allows. In this post, I will describe how the BingMaps extension was built and how it works. Publishing the BingMaps extension When you deploy a DEMO environment using http://aka.ms/navdemodeploy you will...

  • NAV 2017 CU2 on Azure

    Microsoft Dynamics NAV 2017 CU2 will be released any minute now (it is being deployed to Microsoft Download Servers while I am writing this post), but for once, the Azure Image made it before the MSDN download pages. The Image is now available in the classic portal and with http://aka.ms/navdemodeploy. The image will be available in the new portal in a few days. Note: This blog post doesn’t describe what’s new in NAV 2017CU2, you can read about that on...

  • Perf testing with multiple users

    This post is #2 in a series of posts about performance testing, please make sure you have read this post first. In the previous post, you created a NAV Virtual Machine, installed Visual Studio, install Git, Cloned the NAV 2017-Sample repository from the NAVPERF organization, configured the settings and ran the test scenarios. Now, we need to add users. Users and Tenants When testing your solution it is important to run your tests in an environment as close to real-life as...

  • So, you want to import your Office 365 users, huh???

    Yesterday evening when I was writing the blog post about performance testing, I got a question on whether I had a script, which could import users from Office 365 into your NAV. I didn’t, but hey, 10 minutes after, I did:-) Here’s the script. It is designed to run on the Azure Image, but it is really only the locationof the NavAdminTool.ps1 and the serverInstanc name (NAV), which are hardcoded to the Azure Image. You can easily change these for...

  • So you want to get started on perf testing, huh???

    On November 10th, I tweeted that the NAV 2017 version of the Load Test Sample Project was available – expect some blog posts:-) Hopefully you haven’t been pressing F5 on my blog for the last 35 days… – but wait no more. I will of course use the Azure Image as foundation for running performance tests. There are a lot of reasons for this, the primary being, that it is a known foundation, we know whats there, where it is...

  • NAV 2017 CU1 on Azure

    Last night, the NAV 2017 CU1 image was uploaded to the Azure Gallery. A lot of things have changed, some things looks the same. The biggest change is of course that NAV on the image now is NAV 2017 CU1 instead of RTM, but also the a number of the pre-requisites for NAV have been updated or removed. Building the image A number of pre-requisites are installed before installing NAV on the image. All of these have changed in NAV...

  • http://aka.ms/navdemodeploy – under the hood

    You might be wondering what actually is happening when you navigate to http://aka.ms/navdemodeploy, so I thought I would lift the hood and show you what is underneath. Short URL As you probably know, the aka.ms Short URL’s are just simple redirects and the navdemodeploy is redirecting to: https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FNAVDEMO%2FNAV2017%2Fmaster%2Fdeploydemo.json Looking a little closer, this is actually just asking the Azure Portal to create a deployment based on the Microsoft Template on this Uri: https://raw.githubusercontent.com/NAVDEMO/NAV2017/master/deploydemo.json If you read the blog post about...

  • http://aka.ms/navdemodeploy – using PowerShell

    It is part of my DNA, that no matter how easy things have become, it can always become easier. In this post, I have stated, that the easiest way to create a NAV 2017 environment on Azure is using http://aka.ms/navdemodeploy. But what if you want to create the same environment again and again or you need to create an environment in 5 different languages? Then there is a lot of typing in names, and passwords and a lot of things...

  • One NAV 2017 on Azure – Loaded please…

    There is a huge difference in ordering a baked potato and a loaded baked potato. The potato is the same, but it just becomes so much better will all the add-ons. So, how would you like your NAV 2017 on Azure? NAV 2017 on Azure, Loaded please… of course:-) This blog post is a visual walkthrough of how to setup NAV 2017 on Azure, Loaded. It consists of a LOT of screenshots explaining what to do… For assistance on easier...

  • Updates to the Azure Gallery Image… – kind of…

    Note: Updated on November 16th with info on the Excel Add-In Note: Update on November 18th with info on PowerApps and Flow. The Microsoft Dynamics NAV 2017 Image on Azure has been live for a few weeks and I have received a lot of feedback that it is very hard to setup the new things in NAV, like: Outlook Add-in Excel Add-in Embedded PowerBI Microsoft Flow PowerApps Azure services etc. Indeed, you are right. It is very hard. especially when...

  • Connecting to NAV Web Services from PHP- take 2

    Back in the days – January 19th 2010 to be exact, I wrote a blog post on how to connect to NAV Web Services from PHP here. Web Services was fairly new and there wasn’t a lot of info out there on how to do things. The “old” blog post has been read over 76.000 times (yes, seventy six thousand times) and I have received numerous comments and emails on whether this works with NAV 2016 and how you would...

  • The Microsoft Dynamics NAV Image in the Azure Gallery

    By now, we have had a Microsoft Dynamics NAV Image in the public Azure Gallery for 1-2 years and just last week, we shipped the Microsoft Dynamics NAV 2017 image and also the Microsoft Dynamics NAV 2016 Cumulative Update 13 is now available in the gallery. What is it? In essence, it is just a Windows Server 2012R2 with Microsoft Dynamics NAV and SQL Express pre-installed, but there is of course more to it than that. The Image also contains...

  • Connecting to NAV Web Services from the Cloud–part 5 out of 5

    If you haven’t already read part 4 (and the prior parts) you should do so here, before continuing to read this post. In this post, I am going to create a small Windows Phone 7 application, which basically will be a phone version of the sidebar gadgets from this post. When we are done, your Windows Phone 7 will look like: During the other posts, I have been describing how to make the Proxy and one way of securing this....

  • Connecting to NAV Web Services from the Cloud–part 4 out of 5

    If you haven’t already read part 3 you should do so here, before continuing to read this post. By now you have seen how to create a WCF Service Proxy connected to NAV with an endpoint hosted on the Servicebus (Windows Azure AppFabric). By now, I haven’t written anything about security yet and the Proxy1 which is hosted on the Servicebus is available for everybody to connect to anonymously. In the real world, I cannot imagine a lot of scenarios...

  • Connecting to NAV Web Services from the Cloud–part 3 out of 5

    If you haven’t already read part 2 you should do so here, before continuing to read this post. In part 2 I talked about how to connect to my locally installed NAV Web Service Proxy from anywhere in the world and towards the end, I promised that I would explain how the proxy was build. Problem was, that while writing this post I ran into a bug in the Servicebus – which was really annoying. The bug causes my service...

  • Connecting to NAV Web Services from the Cloud–part 2 out of 5

    If you haven’t already read part 1 you should do so here, before continuing to read this post. In part 1 I showed how a service reference plus two lines of code: var client = new Proxy1.ProxyClassClient("NetTcpRelayBinding_IProxyClass"); Console.WriteLine(client.GetCustomerName("10000")); could extract data from my locally installed NAV from anywhere in the world. Let’s start by explaining what this does. The first line instantiates a WCF client class with a parameter pointing to a config section, which is used to describe bindings...

  • Connecting to NAV Web Services from the Cloud–Part 1 out of 5

    My last post in January 2010 (here) talked about how to create a Proxy for connecting to NAV Web Services from outside the local intranet, by creating a local proxy and exposing this through the firewall to your DMZ. It still isn’t simple though and there are a lot of tasks to complete in order to make this work: Define the API which you need to expose to the external application – and create the internal proxy Decide what authentication...

  • About time to get started again…

    Yes, I know. My blog hasn’t been updated for a loooong time and it’s about time to get started again. On November 30th marks it has been 10 month since my last blog entry. A lot of things has happened since January and some things have stayed the same. My favorite product is still Microsoft Dynamics NAV and I am still very passionate about Web Services, the RoleTailored Client and everything you can do with NAV – so all of...

  • Web Services Infrastructure and how to Create an Internal Proxy

    I am NOT an expert in how to setup a secure network and I do NOT know a lot about firewalls, DMZ setup and all of these things, but I have seen a lot in my 25 years of working with computers and the following (absolutely non-exhaustive) gives a good picture of a common network situation of companies, who wants to interact with customers and partners through Web Applications and/or Web Services. DMZ can be at the customer site or...

  • Connecting to NAV Web Services from VBScript

    The Connecting to NAV Web Services series is coming to an end. I think I have covered the majority of platforms from which you would like to connect and use NAV Web Services – some things are easy and some things are a little harder. I did not cover Flash nor did i cover things like the iPhone or iPod Touch, primarily because I don’t think the demand is there. If I have forgotten any platform/language please let me know...

  • Connecting to NAV Web Services from Silverlight 3

    Please read this post to get a brief explanation of the scenario I will implement in Silverlight. Yes, yes – I know it isn’t a fancy graphical whatever as Silverlight should be, but to be honest – I would rather do something crappy on purpose than trying to do something fancy and everybody would find it crappy anyway:-) Getting started with Silverlight http://silverlight.net/getstarted – is your friend. Go to the web site and click this button: Or click the image...

  • Connecting to NAV Web Services from Windows Mobile 6.5

    It is kind of embarrassing that I write a post about how to connect to NAV Web Services from Windows Mobile 6, when Windows Mobile 6.5 has been out for almost half a year (that’s how much a gadget person I am:-)) I just downloaded the 6.5 SDK from here and tried out the exact same application as I wrote for Windows Mobile 6 in this post and everything seems to work just fine, so please follow the steps in...

  • Connecting to NAV Web Services from Windows Mobile 6

    I have created my very first Windows Mobile App! This is running in an Emulator using the Professional SDK. I also tried to deploy the solution to my physical device (my Smartphone), which also worked: To be honest, the biggest challenge is to setup everything so that you can get going. A couple of useful links to get going Location to download Windows Mobile 6 SDK: http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&DisplayLang=en The Windows Mobile 6 SDK is not included in Visual Studio 2008, you...

  • Connecting to NAV Web Services from Microsoft Dynamics NAV 2009 SP1

    Please read this post to get a brief explanation of the scenario I will implement in Microsoft Dynamics NAV 2009 SP1. Please also read this post in order to understand how Web Services works using pure XML and no fancy objects. Like Javascript, NAV 2009 SP1 does not natively have support for consuming Web Services. It does however have support for both Client and Server side COM automation and XmlHttp (which is compatible with XmlHttpRequest which we used in the...

  • Logging the XML generated from .net or received from NAV WS

    When working with Web Services using languages who doesn’t natively have Web Services support (like Javascript and NAV self) you have to create a SOAP envelope yourself in the correct format. Of course you can do so by looking at the WSDL, understanding SOAP and using theory – or… – you can create a small C# application, invoke the Web Service you want to and see what XML .net creates for this. You can also see what XML you get...

  • Connecting to NAV Web Services from Javascript

    Prerequisites Please read this post to get a brief explanation of the scenario I will implement in Javascript. BTW. Basic knowledge about Javascript and XML is required to understand the following post:-) Browser compatibility The sample in this post will work with Internet Explorer. I have only tried this with IE8, but according to documentation it should work from IE5 and up. I actually also tried to download Mozilla FireFox 3.6 and Opera 10.10 – but I failed to make...

  • Connecting to NAV Web Services from Visual Basic .net using Service Reference

    This post is really just a Visual Basic version of this post and this post combined, please read those posts before continuing this post. As described in the other posts, there are two ways to work with Service References – one is to keep the configuration in a .config file and the other is to do everything from code. Using the .config file First I create a Visual Basic Console application and add the two service references as explained in...

  • Connecting to NAV Web Services from Visual Basic .net using Web Reference

    This post is really just a Visual Basic version of this post, please read that post before continuing. Note, this is my very first Visual Basic application. I don’t think there are any ways to do this easier – but then again – how should I know. I am creating a Visual Basic Console application and adding two Web References (like it is done in this post) and then it is really just writing the code The code Module Module1...

  • Connecting to NAV Web Services from C# using Service Reference (code version)

    You should read the post about connecting to NAV Web Services from C# using Service Reference (config file version) before continuing here. Code is king As you saw in the other post, the config file was pretty complicated and although it is editable by hand and as such could be modified at installtime or whatever, I actually prefer to capture a number of these settings in code and only have very specific values in a config file (like f.ex. the...

  • Connecting to NAV Web Services from C# using Service Reference (config file version)

    Prerequisites Please read this post to get a brief explanation of the scenario I will implement in C# using Web References. For C# we can leave the Service Tier running Negotiate or we can use Ntlm as PHP and Java. In this example I will assume that the Service Tier is running SPNEGO (which is the default) BTW. Basic knowledge about C# is required to understand the following post:-) Version and download I am using Visual Studio 2008 professional with...

  • Connecting to NAV Web Services from C# using Web Reference

    Prerequisites Please read this post to get a brief explanation of the scenario I will implement in C# using Web References. For C# we can leave the Service Tier running Negotiate or we can use Ntlm as PHP and Java. In this example I will assume that the Service Tier is running SPNEGO (which is the default) BTW. Basic knowledge about C# is required to understand the following post:-) Version and download I am using Visual Studio 2008 professional with...

  • Connecting to NAV Web Services from Java

    Prerequisites Please read this post to get an explanation on how to modify the service tier to use NTLM authentication and for a brief explanation of the scenario I will implement in Java. BTW. Basic knowledge about Java is required to understand the following post:-) Version and download Java does not natively have support for the SPNEGO authentication protocol, but it does have support for NTLM authentication, so you will have to change the Web Services listener to use that....

  • Connecting to NAV Web Services from PHP

    Prerequisites Please read this post to get an explanation on how to modify the service tier to use NTLM authentication and for a brief explanation of the scenario I will implement in PHP. BTW. Basic knowledge about PHP is required to understand the following post:-) Version and download In my sample I am using PHP version 5.2.11, which I downloaded from http://www.php.net, but it should work with any version after that. In order to make this work you need to...

  • Connecting to NAV Web Services from …

    I promised to write some posts about how to connect to NAV Web Services from various other programming languages/platforms and I guess it is about time I kept my promise. I will create a couple of posts on how to connect to NAV Web Services from: PHP Java C# using Web Reference C# using Service Reference Javascript Visual Basic using Web Reference Visual Basic using Service Reference Windows Mobile Microsoft Dynamics NAV 2009SP1 and more… Scenario For all these I...

  • Open .net SDK command prompt here!

    Barry Fitzgerald from Gumdrop books (a NAV 2009 customer) sent me a hint to another blog post, which in short talks about how to add a menu item to your folder menus like this: http://www.theproblemsolver.nl/dotnet_faq_0016.htm This would open a command prompt, starting in this directory ready to use Visual Studio tools like SN (which you need for Client extensibility) or RegAsm (which you need for COM development). I found it pretty nice, so I thought I would share this. On...

  • Sending data to NAV through a XMLPort

    One of the things I showed at Directions US 2009 was how to send data to NAV via a XMLPort, and I promised to blog about that as well. In the meantime I found out, that Lars actually already wrote about this (and he also made a WebCast). Please have a look at the NAV Team Blog for more info: http://blogs.msdn.com/nav/archive/2009/11/06/using-dataports-with-web-services.aspx The only reason for this post is, that people who attended my session at Directions might look for stuff...

  • Edit In Excel R2 – Part 2 (out of 2) – the final pieces

    It is time to collect the pieces. The full Edit In Excel R2 solution looks like this Slightly more complicated than the first version – but let me try to explain the pieces NAVEditInExcel is the COM object, which we use from within NAV. This actually hasn’t changed a lot, the only small change is, that the EditInExcel method now takes a base URL, a company, a page and a view (compared to just a page and a view earlier)....

  • Auto Deployment of Client Side Components – take 2

    Updated the link to the ComponentHelper msi on 12/11/2009 Please read my first post about auto deployment of Client side components here before reading this. As you know, my first auto deployment project contained a couple of methods for automatically adding actions to pages, but as one of my colleagues in Germany (Carsten Scholling) told me, it would also need to be able to add fields to tables programmatically in order to be really useful. In fact, he didn’t just...

  • Conflict resolution when working with Web Services

    It’s time to wrap up on Edit In Excel R2 – but before I do that, I will explain about another important feature in Edit In Excel R2 – conflict resolution. In my last post on Edit In Excel R2 (found here) – I explained how to make Edit In Excel capable of taking data offline for editing. It doesn’t make much sense to do that unless you also have some sort of conflict resolution when you then try to...

  • Dynamic references to NAV Page Web Services in C# – take 2

    In this post from April, I explained how to make dynamic references to page based Web Services, but the post really left the developer with a lot of manual work to do using reflection. So – I thought – why not create a couple of helper classes which makes it easier. Basically I have created a generic NAVPageServiceHelper class, which encapsulates all the heavy lifting of reflection and leaves the developer with a set of higher level classes he can...

  • Displaying Company information in Card pages

    I received a question from a customer, who is running multiple companies and often have multiple instances of NAV open with different companies. On the main page, they do have information about what company is the active: but when they have opened a number of Task Pages in the various instances of NAV, they cannot distinguish one from the other. Example: This image tells you the page and the Customer name – and you can easily identify the right page...

  • What COMPANY to use?

    As you know, when creating an application consuming NAV Web Services you need to specify the Company name as part of the URL to the Web Service, but what company should you be using? Some applications are web front-ends placing data from the web application into NAV. For applications like this you typically would have a config file in which you specify what company things needs to go to. For these applications, this post adds no further value. Other applications...

  • Extending page Web Services (and creating a Sales Order again)

    It has been working in the same way since NAV 2009, but I still get asked often how this works, so why not write up a quick post on this. I also realize that my prior post on how to create Sales Orders through Web Services was made very complex due to compatibility with NAV 2009. This post only works in NAV 2009 SP1 and will show how to extend the Order page with a Post function and show how...

  • Synchronize A/D users to NAV

    During my work with demos like Edit In Excel, I wanted to make sure that these things would work in all localized versions of NAV 2009 SP1 – meaning that I needed to install 14 different databases and 14 running Service Tier’s. Having done that, I also wanted to allow my colleagues who needed to check something, access to these service tiers. For a geek (like me:-)), that problem looks like something you need to write an application for, even...

  • Directions US 2009

    Directions US 2009 is over – running from 11/10 – 11/14 with a serious of deep dive sessions on Saturday. The entire event was professionally executed and the quality of everything was just great. A huge congratulations to the comity on this event, a huge congratulations to the partner community for having these events and a huge thank you from Microsoft for inviting us to be part of this. I had the pleasure of hosting 3 sessions – one on...

  • Timer events on a page

    Have you ever wanted to have an event raised every 10th second on a page in the RoleTailored Client? Wait no more – here is how you can do just that in Microsoft Dynamics NAV 2009SP1. A Timer control is a Non-Visual Add-In I have seen a number of development platforms treat a Timer as a Non-Visual Add-In (including .net) – so I thought I would try to create a non-visual Add-In for NAV – and what better than create...

  • Using touchscreens with the RoleTailored Client

    I LOVE the RoleTailored Client, I LOVE the fact that everything is metadata driven and i LOVE what this will give us (us being everybody using NAV) going forward. As a result of the investments leading to NAV 2009, NAV has by far the most modern UX and the new framework allows us to innovate faster and more consistent than any other ERP solution out there. We can change the UX to follow Microsoft Office 2010 if we decide to,...

  • Running Code on the Client without deploying COM objects

    Yes, it can be done! No, it isn’t .net code – nor AL code. Why? It started out as me being a little too fast when stating that you could easily download a file to the Client and attach it to Outlook without any user interaction – and as you might know that is true, but you might also know that if you go the recommended route: FILE.DOWNLOAD(FileName, ", '<TEMP>',", ToFile); Mail.NewMessage(",",Name,",ToFile,TRUE); FILE.ERASE(FileName); Then you will get an e-mail that...

  • Word Management

    As with the release of Microsoft Dynamics NAV 2009, I was also deeply involved in the TAP for Microsoft Dynamics NAV 2009 SP1. My primary role in the TAP is to assist ISVs and partners in getting a customer live on the new version before we ship the product. During this project we file a lot of bugs and the development team in Copenhagen are very responsive and we actually get a lot of bugs fixed – but… not all...

  • Microsoft Dynamics NAV 2009 SP1 launched!

    I guess it is a little late to call this news, but nevertheless – on September 1st NAV 2009 SP1 launched. SP1 is big release for the user – the majority of the feedback we got from users on NAV 2009 was taken into consideration and I truly believe that we will see hard core classic client users shift and prefer the Role Tailored Client with these changes. Yes, they will have to get used to new ways of doing...

  • Auto deployment of Client Side Components

    NOTE: There is an updated post on Auto deployment of Client Side Components here. When you install the RoleTailored Client on a number of clients, you might need to install a number of Client side components as well. This might not sound as too much of a problem when you need to install the client anyway – but lets say you install an ISV Add-on with a live customer, who already have 100 clients install – and now you need...

  • Multiple Service Tiers – SP1

    Right around the release of Microsoft Dynamics NAV 2009, I wrote a blog entry with some .bat files on how to create multiple Service Tiers when working with NAV 2009. The blog post is here: http://blogs.msdn.com/freddyk/archive/2008/10/29/multiple-service-tiers.aspx Now NAV 2009 SP1 is about to be released, it is time for a small update. One of the files of the package is a CustomSettings.template file, which really is just the CustomSettings.config with a few values replaced with variable names, so that we...

  • Integration to Virtual Earth – Part 4 (out of 4)

    (a small change added that simplifies the SmallVEControl class definition) With the release of NAV 2009 SP1 CTP2 (to MVPs, TAP and BAP) and the official release of the statement of Direction, I can now write about the last part of the integration to Virtual Earth. People who hasn’t access to NAV 2009 SP1, will unfortunately have to wait until the official release until they can take advantage of this post. Please not that you should read Part 1, Part...

  • Microsoft SQL Server Management Studio Express

    Most of you probably already know this, and I guess I am the last living nerd to discover that you actually can have SQL Server Management Studio for SQL Express… Anyway – I will showcase my lack of knowledge and admit that I just downloaded this from MS and installed next to my Demo install of NAV on my Laptop running Windows 7. You can download Microsoft SQL Server Management Studio Express here. Enjoy Freddy Kristiansen __PM Architect Microsoft Dynamics...

  • Handling Sales Orders from Page based Web Services – in NAV 2009SP1 (and RTM)

    First of all, there isn’t going to be a new post on every single record type on how to handle them from Web Services – but Sales Orders are special and the reason for the “(and SP1)” in the titel refers to the fact, that there are changes between RTM and SP1 or maybe a better way to state it is, that the way you could do it in RTM (that might lead to errors) is no longer possible –...

  • Web Services changes in NAV 2009 SP1

    NAV 2009 SP1 is being released later this year, so why write about it now? The main reason is, that NAV 2009 SP1 comes out with a couple of changes, you might want to take into consideration when writing towards NAV 2009 Web Services. Except for some performance enhancements, the major changes are: New standard encoding of the Company name I think one of the questions that has been asked the most is, how does my company name look in...

  • Installing NAV 2009 without A/D

    The majority of installations of NAV 2009 will be in a network environment, you will have a domain server and an Active Directory with your users and your biggest worries will be how to setup a 3T environment on 3 different boxes, getting the delegation setup correctly all of that stuff. But in a few cases we might run into situations, where there is only a LAN between a number of machines and no server. In this post I will...

  • Dynamic references to NAV Page Web Services in C#

    Note: There is an updated post about Dynamic references to NAV Page Web Services here. When creating the very first (never published) version of Edit In Excel, it was loosely coupled, meaning that I did not have any Web references in the project to the Customer Page, Vendor Page or other pages. I read the WSDL and used XPath to traverse the XML and build up structures and I was able to attach to any Page Web Service. The code...

  • Using LINQ with NAV Web Services

    In .NET 3.5 Microsoft released LINQ (Language INtegrated Query) – which is a way of writing select statements strongly typed inside your C# code. Wouldn’t it be nice if we could leverage this technology when connecting to NAV Web Services? I thought YES – so I set out to find out what it took… The goal was to be able to replace code like this: CustomerRef.Customer_Service cservice = new CustomerRef.Customer_Service(); cservice.UseDefaultCredentials = true; CustomerRef.Customer_Filter filter = new CustomerRef.Customer_Filter(); filter.Field =...

  • Bugsy’s blog is alive

    I just received the information, that Bugsy’s blog (http://blogs.msdn.com/pchriste) is alive and the first post in that one looks really cool. Showing NAV Data in Sharepoint using Business Data Catalogue. using Web Service in NAV 2009. I know what I am going to play with tonight:-) _Freddy Kristiansen _PM Architect Microsoft Dynamics NAV

  • Edit In Excel R2 – Part 1 (out of 2)

    This post assumes that you have read the 4 step walkthrough of how to build the Edit In Excel demo from November 2008. You can find the parts here: Part 1, Part 2, Part 3, Part 4 and the Bug Fix. In this post I will talk about what is needed in order to be able to save an Excel spreadsheet on a local disc, edit it offline and then submit your changes later. My first assumption was that this...

  • Edit In Excel – bug fix and R2

    If you haven’t read the 4 step walkthrough of how to Edit In Excel from Microsoft Dynamics NAV, you should do so here this post is a follow up to the original posts. I have received a number of suggestions to what you could do with the Edit In Excel and a single bug. In this post I will fix the bug and I will explain what R2 is all about. The Bug The bug description is, that if you...

  • Integration to Virtual Earth – Part 3 (out of 4)

    If you haven’t read Part 1 and Part 2, you should do so before continuing here. In Part 1 we saw how to add geographical information to your customer table and how to connect to the Virtual Earth geocode web service, and in part 2 we created a simple web site showing a map and adding pushpins. Now we want to add an action to the customer card, showing us the location of the customer and other customers in the...

  • Integration to Virtual Earth – Part 2 (out of 4)

    If you haven’t read Part 1, you should do so before continuing here. In Part 1 we saw how to add geographical information to your customer table and how to connect to the Virtual Earth geocode web service. Now we want to put this information to play. First of all, we all know Virtual Earth (if not – try it at http://maps.live.com). Less commonly known is it, that the map control used in maps.live.com actually is available for public usage...

  • Integration to Virtual Earth – Part 1 (out of 4)

    Disclaimer Please note that this is an example on how to do geocoding and Virtual Earth integration. There are probably a lot of different ways to do the same, and this might not work in all areas of the world. I do however think that there is enough information in the post that people can make it work anywhere and the good thing about the samples and demos I post in my blog is, that they are free to be...

  • The Customer MAP demo

    My newest demo was shown at the NAV Partner Keynote and also on the NAV Customer General session. I also did a very short walkthrough of the demo at the NAV06 concurrent session at Convergence – and I promised a number of people that I would add a walkthrough of how the demo is done on my blog. This post is only an appetizer – the real stuff is going to be out here over the next couple of days...

  • More SSD testing

    If you haven’t read my post about Running Microsoft Dynamics NAV on SSD’s – you should do so first. After having posted the initial results, I was contacted by other vendors of SSD’s wanting to see whether we could do some additional testing on other hardware. In the interest of the end user, I accepted and once more allocated a slot in the performance lab in Copenhagen. The new drives to test were: STEC 3½” Zeus IOPS SSD 146GB STEC...

  • Microsoft Windows Vista Gadget – My “Stuff”

    This is my second gadget. My first gadget was the Search gadget, which you can find here. I won’t repeat any explanation as to what a gadget is, nor will I talk about Javascript – instead I will focus upon the things, which are new in this post: Returning an XMLPort from Web Services to Javascript Running a Web Service method asynchronous Use the same gadget for invoking three different methods Poor mans error handling in Javascript What I want...

  • PageUp and PageDown in the Role Tailored Client

    If you have been working with the Role Tailored Client you are probably aware, that it doesn’t support PageUp and PageDown in Task Pages. The reason for removing this support was, that the new User Experience is centered around starting from the List, and this way you have a better overview and can find the records you are searching for right away easier and then open the Task Page. This is all good, but users have told us, that they...

  • Search in NAV 2009 – Part 3 (out of 3)

    If you haven’t read part 2 and part 1 of the Search in NAV 2009 posts, you should do so before continuing. This is the 3rd and final part of the Search in NAV 2009 post. In this section I will show how to create a Windows Vista Gadget and have this gadget connect to NAV through Web Services and search in NAV (like the System Tray version in part 2). We will create an installable Gadget like: and when...

  • Search in NAV 2009 – Part 2 (out of 3)

    If you haven’t read part 1 of the Search in NAV 2009, you should do so before continuing. In this section we will create a small Winforms application, which uses the Web Service we just created in part 1. Our application will be visible as a System Tray Icon, it will have a global Windows Hotkey with which we can activate search and when you activate the Search application it will popup and look like this In part 3 we...

  • Search in NAV 2009 – Part 1 (out of 3)

    During the partner keynote and during a couple of the other presentations, we showed a small application, which was able to search in NAV 2009 through multiple tables, display a result set and allow people to drill into task pages in NAV 2009 from the search result window. During the next 3 posts, I will explain how this demo is done and make it available for download. The sample comes with absolutely no warranty, but you can download it and...

  • Microsoft Dynamics NAV 2009 launched!

    Wednesday this week we officially launched Microsoft Dynamics NAV 2009 at Convergence EMEA – what a relief. We have been working hard on this release for a long time and although you always know what you would have made better when you launch a product, I think that NAV 2009 is a great release and expect a lot of this product. Kirill Tatarinov opened Convergence EMEA with his Keynote on Wednesday and talked a lot about the current situation for...

  • Creating and Running Hyperlinks

    In the developer help for NAV 2009 (nav_adg.chm), there is a description for creating and running Hyperlinks – I will not try to repeat all the information in the documentation – so please read the documentation before reading this post. There are however a couple of thing, which are not described in detail. My next post is about the Search demo, which was shown at Convergence yesterday (Partner day) – I will describe how this demo is done, in a...

  • NAV 2009 and Unicode!

    The title might be a bit misleading, but I am writing this post as a response to a problem, which a partner ran into with NAV 2009 – and the problem is caused by Unicode. I am not a Unicode expert, so bare with me if I am naming some things wrong. As you know, NAV 2009 is a 3T architecture and the Service Tier is 95% managed code (only the lower pieces of the data stack is still unmanaged...

  • Edit In Excel – Part 4 (out of 4)

    If you haven’t read part 3, part 2 (and part 1), you should do so before continuing here. We have seen how to put code inside Excel, using VSTO and connect to NAV 2009 Web Services. We have seen how to add this to a table inside Excel and how to write data back to NAV through Web Services. We can delete, add and modify records in Excel and we can even do so with both Customers, Vendors and Items....

  • Edit In Excel – Part 3 (out of 4)

    If you haven’t read part 2 (and part 1), you should do so before continuing here. In Part 1 and 2, we have seen how easy it is to add a Web Service Reference inside Excel, and use it to get Data. In Part 2 we even had the ability to modify data and send this back to NAV. The original intend was that part 3 would be all about integrating this to NAV on the Client side and part...

  • Edit In Excel – Part 2 (out of 4)

    If you haven’t read Part 1, you should do so before continuing here. In Part 1 we saw how easy it is to white .net code inside Excel, and get it executed based on an event in Excel, and how easy it is to fill values into cells. But in order to make this really useful we need to go a different way around. First of all, we need to know more about the record we are working with. We...

  • Edit In Excel – Part 1 (out of 4)

    For the last 6-9 months, Microsoft have been showing a demo of how a user could create a filter on a list place and invoke an action called Edit In Excel. This would open Microsoft Excel with the same records, the user selected in the List Place and allow the user to edit values and post modifications back to Microsoft Dynamics NAV, showing how the user would get a runtime error if he was trying to violate validation logic from...

  • Transferring binary data to/from WebServices (and to/from COM (Automation) objects)

    A number of people have asked for guidance on how to transfer data to/from COM and WebServices in NAV 2009. In the following I will go through how to get and set a picture on an item in NAV through a Web Service Connection. During this scenario we will run into a number of obstacles – and I will describe how to get around these. First of all – we want to create a Codeunit, which needs to be exposed...

  • Running Microsoft Dynamics NAV on SSD’s (Solid State Drives)

    Solid State Drives are here. Laptops are sold with SSD’s (a bit expensive) and also the server market is seeing SSD’s coming out promising incredible performance from your storage. But what does this mean for NAV? I contacted FusionIO (www.fusionio.com), one of the major players in the high end SSD market and borrowed a drive for my server. The purpose of this was to test the performance of the drive in our NAV performance lab in Copenhagen. I also wanted...

  • 4 BAT files for the Client Tier

    If you haven’t done so, please read the post about Multiple Service Tiers before reading this:-) In my previous post (Multiple Service Tier) I promised to talk about what to do on the Client Tier if you have installed a number of services on a Service Tier computer that all are set to start manually. Do you really have to go to the Service Tier machine in order to start the services or is there a simpler way? As you...

  • The Service Tier

    My first technical blog post is going to describe some details about the service tier, that some people might find interesting (and some people might think that this is common knowledge:-)) What is the Service Tier? Very briefly – the Service Tier is the middle tier in a Microsoft Dynamics NAV 2009 installation. This is where all database access is performed and all business logic is executed, meaning also that this is where the application is running. The Database Tier...

  • Multiple Service Tiers

    NOTE – there is an updated post reg. Multiple Service Tiers in NAV 2009 SP1 here. If you haven’t done so, please read the post about the Service Tier before reading this:-) A very typical scenario with both partners and customers is to have more than one database. This can be because you have a development database and a production database – or it could be the partner having a copy of all customer databases locally for troubleshooting. You could...

  • About time…

    OK, OK – I should have started blogging a long time ago, I just never really got around to get going until now! In the beginning my blog will probably be focused around NAV 2009, tips and tricks – but who knows where it might go. Microsoft Dynamics NAV 2009 is set to be released to market in Q4 2008 – and through my work with a number of partners on NAV 2009, I do have a number of tips...

subscribe via RSS