We hope you already know what the new PowerShell application merge tool is in Microsoft Dynamics NAV 2015. The new application merge features include a few of PowerShell cmdlets, but in this post we will cover only the Merge-NAVApplicationObject.
This tool compares the changes that have been made between two sets of NAV application objects, and applies the difference to a third set of application objects. The result of merge are text files with the merged objects and text files with conflicts, where cmdlet could not merge them.
This cmdlet is as following:
Merge-NAVApplicationObject -ModifiedPath C:\Upgrade\MODIFIED -OriginalPath C:\Upgrade\ORIGINAL -ResultPathC:\Upgrade\RESULT -TargetPath C:\Upgrade\TARGET
To run this command, we have to determine what is ORIGINAL, MODIFIED, TARGET and RESULT.
ORIGINAL is the baseline of application merge.
TARGET is version of application that we want to apply the difference between the original and modified.
RESULT is finally version of merged objects with conflicts, as well.
But, what is a MODIFIED?
Can we set our customized database in MODIFIED (and new NAV version in TARGET) or we can use new version of NAV as MODIFIED (and our customized version as TARGET)?
We usually have a less differences between new version of NAV and ORIGINAL. When you make test with both combinations, you will see that merging when you use new NAV version as MODIFIED is two time faster in comparison when you set a your customization as MODIFIED.
But “two times” is in relation with minutes, not hours and it is not as important as the result. In our very complex example (lots of customizations), results are almost the same. We have 1194 conflicts in one test and 1197 in other. However, that's not that important.
The important thing is that if you set the new version of NAV as modified it's possible you can have problems with the license during the important objects process.
Because of that, you always have to use your customized solution as MODIFIED and the new NAV version as TARGET.