Could Not Load File or Assembly ‘CrystalDecisions.CrystalReports.Engine'… The system cannot find the file specified"

A workstation may not have received necessary components from the server due to network restrictions. Try right clicking Acctivate and choosing "Run as administrator" to allow them through.

After an Acctivate update, a workstation may run into this error:

“Could not load file or assembly ‘CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.”

(error -2147024894)

This error is typically caused by a mismatch in the server files and the workstation files. Sometimes a workstation’s firewall or anti-virus will block a component file, causing problems with reports. 

There are a few options to solve this error.

1. Close out of Acctivate and run it as Administrator.

2. Uninstall and Reinstall the Crystal Reports .NET Runtime Engine.

3. Modify the Acctivate.exe.config file on the workstation.

Run Acctivate as Administrator

After closing Acctivate, right click the Acctivate icon on your desktop and click “Run as administrator”. Then, log into Acctivate like you normally would. Once Acctivate is ran as an admin, it will forcibly copy those files over and update them to what they should be. You will be able to resume normal Acctivate use after that.

You should  not need to run as administrator every time you run Acctivate. However, you may need to do it one time after updating your server, or the problematic workstation may cause the same problem.

Uninstall and Reinstall the Crystal Reports .NET Runtime Engine

If the above doesn't work and the error is specifically talking about Crystal Reports, it could be that the Crystal Reports runtime engine that Acctivate expects to be installed can't be found.  For instance, Acctivate 10.3 is looking for the the runtime version 13.0.19.2312 since that's the one it installs with.  However, other programs that utilize Crystal Reports might have installed a newer version (such as 13.0.25.3158 like Acctivate 11.0 uses) and it isn't properly recognized.

On the Workstation receiving the error, you may uninstall the Crystal Report Runtime Engine from Control Panel > All Control Panel Items > Programs and Features.

Then, reinstall the correct Crystal Reports Runtime Engine used by Acctivate from \\AcctivateServerName\Acctivate\ClientFiles.

You may follow this guide to Uninstall and Reinstall the Crystal Reports .NET Runtime Engine.

Modify the  Acctivate.exe.config file on the workstation

If upgrading to Acctivate 11.0 or newer doesn't work or reinstalling the proper runtime isn't an option, you can get Acctivate to use a newer version of the Crystal Reports runtime engine than it's looking for by adding the code below to your Acctivate.exe.config file.  This file is located in the Acctivate share and will require administrator permission to edit it.  Do so with a text editor like Notepad and add the following between </appSettings> and </configuration> at the end of the file:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Web" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Windows.Forms" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.ClientDoc" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonControls" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonObjectModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.Controllers" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.CubeDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.DataDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.DataSetConversion" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.ObjectFactory" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.Prompting" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.ReportDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportAppServer.XmlSerialize" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>