Deployment strategy for cumulative platform updates

RemkoDRemkoD Member Posts: 100
edited 2018-03-27 in NAV Tips & Tricks
I am wondering if someone has tips or tricks for a smooth cumulative update platform deployment on internal or external (customer) systems. We're struggling with the deployment. (NAV 2013+)

Deployment options Microsoft
Microsoft offers basically three options:
- Remove installation and reinstall with a NAV DVD on a higher CU
- Use ClickOnce (Windows RTC and Web Client only)
- Manual patching

Our current patching process
We're currently going for the manual patching process. To patch the Windows RTC we've made a simple script to ease the deployment on environments with multiple workstations. On application/terminal servers we still patch NAV manually.

Your patching process
Is this a struggle for you guys too? Did you find solutions to make the deployment easier? How do you guys do it?

Testing platform CU
How do you test a new platform build? At customers who have the test and production service tiers on the same servers it's hard to patch first the test NSTs before the production NSTs. With Tegos this is possible, but I would like to avoid this on production servers as it makes the installation more complicated.

New approach
I'm thinking about solving the issue with powershell scripts. To automate the manual deployment. Scan a system (registry) on installed NAV components and automatically patch those to the new build. With a few smart things in it like checking if files are not locked, making a backup, etc. But before going down this road I would like to know how others have resolved the issue.

Comments

  • RemkoDRemkoD Member Posts: 100
    I've found this blog post from Gunnar Gestsson who resolved it with PS scripts.
    http://www.dynamics.is/?p=2196
  • RemkoDRemkoD Member Posts: 100
    I've compared the How to install a Microsoft Dynamics NAV cumulative update guide for NAV 2017 and NAV 2018. Microsoft has left out the manual patching description in the 2018 guide. The only option that is described is reinstalling NAV.

    I think the best option is generating new v-servers based on the new NAV CU DVD. Unfortunately this option is at this time out of reach as most environments are still on-premises and managed by different parties. In the near-future, with the cloud and all, this will be the best practice I assume.

    I think reinstalling NAV is a robust option from most perspectives. Though, I don't think reinstalling is dummy proof. If I uninstall NAV all the Web Clients, Help Server and Default NST are removed. These need to be reinstalled and reconfigured with or after the new CU installation. I'm not so happy about that.

    With the multiple diverse environments I have in mind I think I will stick to the manual patching. I've made a list with requirements for a script to do the deployment automatically and started to work on a powershell module.

    I'm still interested in how you manage CU platform deployment. Please let me know. Any thought on this subject is welcome!
  • robbonickrobbonick Member Posts: 40
    In our company (end user) we first deploy the cumulative update to a testing server. Then when we are happy we use PowerShell to build the ClickOnce files for each client. The script then copies the installation files to each Domain Controller, and on startup of each computer it checks to see if it has the latest version of NAV (it is checking the version from the ClickOnce files). If it needs to update it will uninstall the old version and install the new version. Of course we get the occasional issue, but usually this is because a user hasn't rebooted their PC.
  • RemkoDRemkoD Member Posts: 100
    Time for an update! Currently I'm working on a PowerShell module to automatically 'manual' patch a NAV installation with a new CU.

    Creating the CU patch
    I've taken the script from this (How to get back the ‘hotfix directories’ from NAV 2015 Cumulative Update) blog post as example to create a CU patch. I've refactored the script and added the functionality that it includes language specific files from the NAV DVD. https://pastebin.com/z3wHEqZ3

    Deploying the CU patch
    I'm almost done with the PS module. My intention is to publish it online when it's done.
    Basically what it does:
    1. Scans host on installed NAV components (reg scan)
    2. Stops known blokking services/processes (NST's, clients, office, etc)
    3. Checks if there are still locked files in the directories that are going to be updated.
    4. Creates a backup from the folders
    5. Update the files in the NAV component folders with the new CU files
    6. Updates the default NST CustomSettings.config with the new available keys
    7. Updates Windows Reg with the new NAV build number
  • RemkoDRemkoD Member Posts: 100
    Time for another update. The PowerShell module and executing scripts are finished. By now it's used to upgrade 40+ NAV application servers (test and production) and 160 + workstations quite flawlessly and it's executed by various application managers. In addition I've written English documentation and I'm working on the latest minor improvements in the scripts.

    I want to publish it online on GitHub. Is it handy to create a new thread somewhere on this Mibuso forum to support this thing or something like that? What would be a good category to place this? (First time I will publish a project myself o:)<3 )

    Once it's online. Is someone willing to proofread the documentation?
Sign In or Register to comment.