Tuesday 1 December 2015

AX for Retail: Customizing your Hotfix Packages for Remote Deployments

You may have noticed throughout 2012 R3, R3 CU8, and R3 CU9 that AX hotfix packages are quite a bit larger in size than they used to be.  This is not really a problem for most non-Retail environments:  if you’re deploying a hotfix to a series of AOS’s, AX Clients and your model store, unzipping this large hotfix to a network share and running AXUpdate.exe across the network is not that painful.  If you need to deploy a hotfix to a bunch of remote stores, however, you’re looking a lot of extra work and bandwidth.

The Problem:  Why is the hotfix package so large?

Just why are the hotfix packages so large, anyway?  I just pulled down a pretty recent hotfix and it is 750 MB:

2015-11-23 15_26_22-Window

And this is a binary-only hotfix!

A quick analysis of the resulting files shows a couple main culprits:

2015-11-23 15_28_59-Window

The updates to the Retail SDK and the Retail Online Channel are 305 MB and 135 MB respectively.  What’s going on here?

First of all, keep in mind that the patch files (MSP) are cumulative changes going all the way back to the initial 2012 R3 release.  There were a lot of changes to both of these components between R3 RTM and a post-CU9 release and each hotfix has to incorporate all previous changes into the MSP file.

Furthermore, if you look at the file structure of the Retail SDK, you’ll see that we have separate branches for R3, CU8, and now CU9.  There is a lot of duplication of files between all three of those branches and really, just a lot of files in general.  If you closely examine the contents of all of the folders you’ll see a number pictures and other binary files; even compressed these are going to take up a lot of space.

The Workaround:  Build a pared-down hotfix installer package

A tip before we get started:  if you’ve deployed a hotfix on a demo machine recently and just select all components, you’ll notice that it seems to take forever to complete.  This again is the Retail SDK:  xcopy’ing all of those files simply takes a long time to complete.  Unless you really need an updated SDK on that machine, make sure to uncheck that component in the installer.

The workaround is a similar strategy:  since we really only need the Retail SDK to be installed on developer machines** and the Online Channel is obviously only applicable on servers that will be using it, we can remove those components from the hotfix altogether.

Read full story at http://blogs.msdn.com/b/axsupport/archive/2015/11/23/ax-for-retail-customizing-your-hotfix-packages-for-remote-deployments.aspx