GP 2013 AddIn works fine in DEV, not on customer system

I started with a much more complicated AddIn built in Visual Studio, but after hours of troubleshooting I built an empty addin and it throws the same error.

Error message is not helpful - Can anyone offer any insight into this error?

The description for Event ID 0 from source Microsoft Dexterity cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

An exception occurred while trying to load or initialize the addin located at C:\Program Files (x86)\Microsoft Dynamics\GP2013\Addins\TestGPAddIn.dll.

Exception Details:
System.TypeInitializationException: The type initializer for 'Microsoft.Dexterity.Applications.root' threw an exception. ---> System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: productId

   at Microsoft.Dexterity.Bridge.DictionaryRoot.InitCookie()
   at Microsoft.Dexterity.Bridge.DictionaryRoot.Init(String path, Int32 productId, Boolean isFormsDictionary, Boolean openForCodeGeneration)
   at Microsoft.Dexterity.Bridge.DictionaryRoot..ctor(Int32 productId, Boolean isFormsDictionary)
   at Microsoft.Dexterity.Applications.root..cctor()
   --- End of inner exception stack trace ---
   at Microsoft.Dexterity.Applications.MenusForVisualStudioToolsDictionary.EventRegisterFunction.get_WrappedScript()
   at Microsoft.Dexterity.Bridge.FunctionBase.AddEventHandler(Delegate handler, AttachType attacyType)
   at Microsoft.Dexterity.Applications.MenusForVisualStudioToolsDictionary.EventRegisterFunction.add_InvokeAfterOriginal(InvokeEventHandler value)
   at TestGPAddIn.GPAddIn.Initialize() in c:\Users\drancour\Documents\Visual Studio 2012\Projects\TestGPAddIn\TestGPAddIn\GpAddIn.cs:line 23
   at Microsoft.Dexterity.Bridge.AddinManager.LoadAddin(String name, Type type, Boolean checkPlatformAttribute, Int32 currentDexPlatform)

the message resource is present but the message is not found in the string/message table