Need Assistance with Sage 50 2016

SUGGESTED

We have developed an application for our customer that runs as a windows service on windows 7.

We developed it using Visual Studio 2015 (.NET 4.5.2) against Sage 50 Pro Accounting 2016.

The customer is using 2016 Sage 50 (I think the Quantum edition).

 

The server runs with a plug-in architecture, so the application is compiled as a class library and the server load it into memory and executes it as needed, using code similar to:

Assembly PlugInAssembly = Assembly.LoadFrom(ProcessorPath);

Type processorType = PlugInAssembly.GetTypes().Where(t => !t.IsInterface && !t.IsAbstract && typeof(FileProcessor).IsAssignableFrom(t)).FirstOrDefault();

FileProcessor processorObj = (FileProcessor)Activator.CreateInstance(processorType);

 

This architecture has worked well for us in the past on other projects, but this is the first time we are trying it with the Sage .NET SDK (sage50sdk_2016_2).

We developed our app and it worked well on our computers. When we installed it on the customers computers, it’s been throwing errors.

This is the stack trace:

Error message: Could not load file or assembly 'Sage.Peachtree.Domain, Version=2016.1.0.114, Culture=neutral, PublicKeyToken=d06c16dde04d83e4' or one of its dependencies. The system cannot find the file specified.

Stack Trace:    at Sage.Peachtree.API.PeachtreeSession.Begin(String applicationIdentifier)

   at gdcQuattroToSage.Processor.VerifySageAccess()

   at gdcQuattroToSage.Processor.Initialize()

 

I was able to confirm the file exists at: C:\Program Files (x86)\Sage\Peachtree\Sage.Peachtree.Domain.dll

Looking at the Windows Properties of the file, it states that it’s version 2016.0.00.0090 on both the customers computers as well as my own.

 

Any ideas on how to fix this error?

  • 0
    Moving this post to the Sage 50 US (formerly Sage Peachtree) Support Group since it was posted in the incorrect forum.

    Thanks,
    Derek
  • 0
    SUGGESTED
    It sounds like your application was built against the 2016.1 SDK, but your customer is running 2016.0. There are two options to resolve this:
    1) Your customer can apply the Sage 50 update for 2016.1 or 2016.2
    OR
    2) You can rebuild your application using the 2016.0 SDK.

    The way it works is if you want to build an SDK application that works for all 2016 versions , you need to install the 2016.0 SDK along with Sage 50 Pro 2016.0 and build using that version. Then your app will work with 2016.0, 2016.1 or 2016.2.

    If you build your application with a newer version like 2016.1, then users will need to have 2016.1 or 2016.2 installed.