BIDLL Deployment Error on Scribe On-Premise Agent Server
Recently, we encountered a strange behavior of Scribe On-Premise Agent when we deployed a DLLs for a Custom Connector. After deployment of DLLs on the Agent, the status of the Scribe Agent was stuck at “Updating” and the Connector was not visible under the connector drop down.
We checked the “MICROAGE1 Agent 2” Agent log and found out an error in .Net Framework.
Message: Folder (C:\Program Files (x86)\Scribe Software\Scribe Online Agent 3\Connectors\ConnectorName) has the following exceptions during discovery:System.ApplicationException: Exception Type : FileLoadException Message: Could not load file or assembly 'file:///C:\Program Files (x86)\Scribe Software\Scribe Online Agent 3\Connectors\ConnectorName\********.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) StackTrace : at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark) at System.Reflection.Assembly.LoadFrom(String assemblyFile) at Scribe.Core.Access.AdapterDiscoverer.DiscoverConnectors(String folderName)
— Inner Exception —
Message: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
Steps to perform Resolution 1
- Login to MICROAGE1 Server
- Open CONFIG File “machine”
- Add the code at line 151 and Save the file
<runtime> <loadFromRemoteSources enabled="true"/> </runtime>
Current Code screenshot:
- Restart the Scribe Agent in Services
- Check if the DLL’s are deployed successfully by creating a connection in Scribe Online for Channel Online. If still failed then perform Resolution 2.
Steps to perform Resolution 2
- Login to MICROAGE1 Server
- Stop Scribe Agent in the Services.
- Go to C:\Program Files (x86)\Scribe Software\Scribe Online Agent 3\Connectors\ConnectorName and Right Click on a DLL file. (For example: As per the screenshot, “Contact”)
- Click on “Properties”
- Under Security Section press “Unblock”
- Click Apply and Ok
- Again, open the Properties to check whether it is successfully unblocked.
- Repeat Step 4-8 for all DLLs.
- Start the Scribe Agent in the Services.