I ran into a difficult situation at a client where we were unable to edit (add new features) to GP2010, unable to uninstall or repair GP2010 and unable to launch GP2010 because of dictionary version mismatches. If you ever have issues finding the references in the registry to troubleshoot installations I hope this may help, that is where I ended up in my quest.
The issues were various but the short story is:
- It started with being unable to launch Dynamics GP Utilities (“Problem ascertaining version” error)
- Product mismatch was Canpay.dic file - after installing SP1, dictionary still said it was code 11.0.1247 (RTM). Re-installing SP1 made no difference. All other dictionary files were at proper SP1 version #. Odd.
- Next tried to remove Canadian Payroll from the dynamics.set file and then re-run setup to “add” that product back. Problem: the Change program feature under Add/Remove programs is blank - usually it’s a product list for additional products.
- Next step - let’s uninstall and reinstall the client entirely. Should be simple, right? Nope! Uninstall gives me “Object reference not set to an instance of an object”.
- Okay, now I’m getting annoyed and frustrated, nothing seems to work, I’m going in circles! Hold on, time to re-group, we’ve been in difficult situations before, let’s dig in and roll up our sleeves. Time to search for more solutions! (I’m not sure that I outwardly appeared that positive in the middle of this but I do enjoy a challenge … hehehe).
First I found Mariano Gomez’ post How to Uninstall GP10 for instances where add/remove programs does not work. Even though I was using GP2010, not GP10, the references were basically the same.
This gave me a lot of the information I have here and helped a ton.
A second completely non-Dynamics-related article here helped me find the other references in the registry including a tip in a user’s comment about 32bit apps on a 64bit machine.
In my specific issue I was getting errors trying to either Repair or Remove using the add/remove programs (or the appwiz.cpl shortcut). The error was “Object reference not set to an instance of an object”. I was unable ultimately to even run through Mariano’s steps as I received the same error when uninstalling the msi in the Installer folder(s).
To the registry!
I’m not a big fan of hacking into a registry - it’s risky, there are lots of ways for this to go wrong, and in this case, I was also working remotely so I needed to be ultra careful, backing up anything and everything, documenting every step so I could go back if I needed to.
Remember: always export the keys before deleting anything…
The server is Windows Server 2008 R2 Standard, 64bit. SQL version SQL2005. GP2010 SP1.
What worked for me
Take this for what it’s worth - I tried a lot of things (removing entries in the registry) and to be perfectly honest, once I got to the “search” stage on the registry, I didn’t know exactly which specific registry key was “the” one that freed me from my little black hole as I kept the search going to find as much as I could before trying to install again.
Also, in all of this, my DATA was fine - there were no issues from any other workstation, the data was fine, all products were at their proper upgraded version and the system was not down. It was the only client install on the server for me that was not working.
- Using Mariano Gomez’s post steps, I first re-tried to uninstall by using Start - Run - appwiz.cpl and received the same “Object Reference not set to an instance of an object” error.
- Looked at the Installer folder. I had during my troubleshooting steps installed GP2010 twice and therefore had two instances to deal with removing. Right clicking on the installer (using the subject tip Mariano had) returned the same error message as in #1.
- Started looking in the registry to manually remove the references and application directories etc. After thinking I got all of the references, I used CCleaner (free program available online) to clean the registry items that it found left behind. Rebooted. At this point the install (fresh install) failed with another error (System.NullReferenceException: Object Reference is not set to an instance of an object at Microsoft.Dynamics.GP.Deployment.WindowsInstaller.DynamicsGP.Installation…. long text string of similar entries.)
- Back to the registry, I searched for keywords and remove other references not so obviously placed.
- After this, I was finally able to re-install without issue and without any references to a prior install of GP2010. This time around I used the full installation package of GP2010 with SP1 included.
The following were the areas I looked at in the registry (all tips from the two posts above):
- HKLM / Software / Microsoft / BusinessSolutions – this contained references to how many instances were installed, what they were called, where they were located and which products were installed on each instance. This one helped me in an unexpected way: I ran into a problem where one product kept re-appearing in the dynamics.set file after installing a service pack (in this case, Electronic Reconcile). Initially that product was installed, then removed from the dynamics.set file. However, the registry has it as an installed product on that instance so each time the service pack was ran, it was updated and reinserted in the dynamics.set file.
- HKLM / Software / Microsoft / Windows / CurrentVersion / Uninstall – this contained (in my environment) 64bit apps only, and GP2010 was not in there. Dexterity Components were though.
- HKLM / Software / WOW6432Node / Microsoft / Windows / CurrentVersion / Uninstall – this contained 32bit apps including GP2010. This was the magic registry for me since I would not have guessed to look here for anything initially.
- At this point I had stopped, thinking I had captured all the references, backed them up and removed them. When I realized I was missing references, I searched the following terms: Dynamics, Business Solutions and Great Plains. I only searched HKLM downwards. When the search started to get bogged down into UserData S-1-5-18 Components, I skipped down to the last subkey of this section and then continued the search, skipping that area.
Application Folders & References
Here was where I found references in windows explorer to GP2010, dexterity etc. or install files and removed what was no longer necessary.
- Installer folders (Start – Run – Installer)
- Common Program Files (Start – Run - %commonprogramfiles%)
- Microsoft Shared (same folder as above, subfolder called Microsoft Shared)
- Application directory (Program Files – Microsoft Dynamics – GP)
- Downloaded installations folder (Windows – Downloaded Installations)
While I was in the middle of my little black hole, I was searching for a lot of the error messages I was coming across but not having much luck. Hopefully this will help someone narrow down their problem and get them out of their black hole!