Sunday, August 30, 2009

Applying Microsoft Dynamics GP v10 service pack 4: Tales from the trench

It's a gloomy and rainy day in Atlanta, so I figured I could do something productive while under lockdown. I currently run Microsoft Dynamics GP build number is 10.00.1193 -- service pack 3, which was installed using the Feature Pack 1 DVD image available on CustomerSource and PartnerSource under the Product Release section. This build installs the Dexterity dictionary 10.0.320.

Before beginning the installation of SP4, I created a backup copy of my current GP installation folder just in case I needed to revert to it, and of course, backed up all forms, reports, and VBA projects, and my DYNAMICS and company databases. I also backed up the registry key corresponding to the GP installation, HKLM > Software > Microsoft > Business Solutions > Great Plains.

The upgrade operation began by launching the Service Pack 4 msp installation file.


After 5 minutes of the "10.0 is being configured on your computer" process, the installation script began "Gatherting required information" to calculate the installation steps required to deal with my environment's configuration.



That went fairly fast, until the progress bar reached 90%. This is when things slowed down again for approximately another 2 minutes.

Once planning phase was up, another progress bar began letting me know that "10.0 is being configured" on my computer, presenting a progress bar with the time remaining.



Approximately 1 second before the "Time remaining" phase was up, I got an error saying "DEX.DIC version 10.0.320 is not compatible with executable version 10.0.324.0".The error showed up one more time and I clicked the OK button to continue. No other indications, except for the message that anything was wrong.



The process went along and completed "successfully" with all service pack files copied into the GP installation folder. All the Dexterity Shared components were replaced.





I then lauched Dynamics Utilities...remember that DEX.DIC error? There it was again! At this point, the only safe recovery option to protect my data's integrity was restoring all previous backups: databases, reports, forms, registry entries, and application folders.

I then downloaded the latest hotfix prior to SP4, 10.00.1328 (KB971014), and repeated the installation process. Everything went fine. I did not receive the pesky Dexterity dictionary version check error, all system and company tables upgraded without a hitch. All my reports and forms upgraded successfully. I noticed the Dexterity dictionary version for this hotfix was 10.0.320. The question now was, would I receive the same error attempting to install SP4?

I repeated all the installation steps I previously described. The good news this time, the installation of the Service Pack 4 components completed without a hitch.

I onced again launched Utilities, this time to upgrade all system and company tables as required. The product validation went on successfully. SP4 rightfully detected the existance of a previous version. I clicked Next to continue with the system database upgrade. This operation completed successfully with the account framework synchronization.



Next was the company update process...this also went substantially smooth and fast. As to the error, I cannot say for sure whether the installation steps call to be on a specific Microsoft Dynamics GP hotfix build prior to beginning the installation of Service Pack 4, or if this is something that is unique to my environment configuration, but at least the word is out. If you find yourself in this situation, you may be forced to upgrade to the latest hotfix prior to the release of SP4 to correct this situation.

There is also another issue with the original Service Pack 4 installation, with SmartList Builder and Excel Report Builder. If you attempt to save a calculation, you will receive the error "Wrong number of arguments to 'Replace_Text'".



Fortunately, all you need to do is download a chunk file and apply to solve this problem. You will find a link to the chunk download by clicking on a link under the Current Release Downloads secition of the Service Pack, Hotfix, and Compliance page.



You are now directed to the error page, where you can download a zip file with the fix, under the Hot Topics area.



Applying the chunk was very simple, but is always recommended that you backup your data.

[Updated 09/02/2009]
Chad A., a user on the Dynamics GP newgroup reported having the same problem. This was his reply:

Found the issue! Looks like Microsoft changed the name of the dictionary from dex.dic to dex_us.dic (there is also a dex_int.dic) back in the day. My GP 10 SP3 install had both files (dex.dic and dex_us.dic) at the same version (10.0.320). SP4 upgraded dex_us.dic but didn't upgrade dex.dic. I checked the dynamic.set, dynutils.set, and dex.ini file but didn't see it listed anywhere so I just renamed dex_us.dic to dex.dic. That stoped the error message.

We started on GP 7.5 way back in the day. I wonder if that name change got
stuck in the system because we upgrade each time.

Microsoft should probably look into this. I will wait a little bit to see if they catch it, otherwise I may have to send an email to some internal Microsoft GP people I know.
Hope you find this response useful.

Until next post!

MG.-
Mariano Gomez, MIS, MCP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

9 comments:

Arun said...

Thanks for your useful info.

will microsoft release an updated MSP for SP4, so that installation run fine without these hurdles?

Else do we need to follow this workaround always for SP4 upgrade.

Arun.

Doug Pitcher said...

Great post. Thanks for the heads up. I haven't updated anyone yet as I usually wait a couple of weeks to a month before applying new SP's. Do you have any general timeframes on how long a SP is out before applying it?

Mariano Gomez said...

Arun,

I am sure there will be a new hotfix in the coming weeks. Keep in mind that you may or may not receive the error I described as this may have just been specific to my environment, but if it's not, then I am sure it will be a part of any future hotfix.

MG.-
Mariano Gomez, MVP

Mariano Gomez said...

Doug,

I have more general timeframes for upgrades, than I do for SPs. I usually upgrade clients 2 service packs into the RTM release.

I believe SPs are a necessary evil and usually apply them within a week or 2 of their release (this is about the time it takes to schedule things with clients anyways).

MG.-
Mariano Gomez, MVP

victoriayudin said...

Mariano,

Very interesting. I had the same environment (GP 10.0 SP 3 installed from the feature pack image) and upgraded to SP 4 with no issue or error. Of course, you might have products and other things installed that I do not, so that may play a part in this. The only readily visible difference is that my installation is on Windows XP, while your screenshots look like Vista.

-Victoria

Mariano Gomez said...

Victoria,

Interestingly enough, someone reported having the same issue on the newsgroup (http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?&lang=en&cr=US&guid=&sloc=en-us&dg=microsoft.public.greatplains&p=1&tid=96fe208b-4cd7-4fc4-b913-2d43f4e89310), and apparently after following the steps I outlined, the problem persisted.

As I said before, I am not sure what is particular about the environment that cause this issue to happen.

Thanks for the update!

MG.-
Mariano Gomez, MVP

CoreyC said...

Mariano,
I found your post because I'm performing an update for one of my clients to SP4 and ran into the same error on the Dex.dic file version.

I'm not sure if my fix would apply to your scenario, however I had a bit of a different way of dealing with the problem. After reading your post I tried to simply rename and replace the dex.dic with the dex_us.dic file being that they are actually the same file and re-run the upgrade. I found that I could not rename it because the file was locked by another user. Someone had remoted into the SQL server and probably crashed out of GP while they were logged in and the file was stuck. They never logged off of the remote session correctly (probably just hit the "X" to get out) and it left the files in a locked state. After I went into the Terminal Services Manager under Administrative tools and performed a Log Off for the stuck user I re-ran the SP4 install and did not get any errors.

So, in short I assume that the only reason that the install was not able to update the Dex.dic was that the file was locked.

Hope this helps others that read your blog and run into this problem.

Dynamics Confessor said...

Mariano,

I ran into the same problem today and found it only ocurred on workstations that were running .net 3.5 with sp1.

Leslie

todd said...

I've had the same issue the last 2 updates I've done.
2 days ago I also discovered a stranded user on my server and after logging them off and running the sp install again I had no errors. I figured dex.dic was locked and couldn't be updated... Thinking nothing more of it I proceeded with an update this morning and same error again!

I tried again to run the install a second time just in case - no luck. Took the advice of copying dex_us.dic over dex.dic and utilities proceeded.

Perhaps that new msi is worth a look...