The Run Local or Hybrid Feature in Elliott 8.5

Release Date: 12/3/2018

In Elliott 8.5, you can run Elliott in three different modes based on the location from which you execute Elliott application programs:
  • Run Local: This is the default method.
  • Run Hybrid: This is designed to run for the terminal servers.
  • Run Network: This is the legacy method.
 By design, Elliott ran from a network share in the past. This offered the benefit of being able to install updates in a centralized area without the need to install local client updates on each workstation. In recent years, out of security concerns and other reasons, Microsoft has made it more difficult to run from a network share with the use of artificial roadblocks that Elliott needs to jump through.

Starting with Elliott V8.5, users can run Elliott from local folders even though the data still resides on the network share. This not only bypasses the limits placed by the Windows OS when running from a network share, it also improves application performance and makes program execution more reliable. You will continue to install Elliott updates on the network share. In the meantime, when executing Elliott V8.5 programs from a local folder, the system will automatically synchronize the updated network programs to the local folder. Therefore, there’s no need for Elliott local programs to be manually updated.

Set Up to Run Local

By Default, Elliott V8.5 runs from a local folder even though Elliott V8.5 is installed in the network share. To set up a workstation to run Local, you will use Windows Explorer to browse to the folder <ElliottRoot>\Bin85 and run on the EL850.EXE application. If you receive an "Open File - Security Warning" message like the following:

We can't verify who created this file.  Are you sure you want to run this file?
Name: M:\Elliott8\Bin85\EL850.EXE
Type:  Application
From: M:\Elliott8\Bin85\EL850.EXE

This is due to the fact that we try to run this application from the mapped network drive and it is OK. Just click "Run" to proceed:


Then the EL850.EXE application will start and you will see a sample screen like the following:


The purposes of EL850.EXE are the following:
  1. If necessary, create the Run Local (or Run Hybrid) folder and copy the necessary files from the source Elliott network folder.
  2. Create the desktop icon(s) and program menu either for this user or all users (Hybrid mode only).
  3. Create the DEP exclusions for running Elliott on the server.
This application will ask you which Elliott application to create. By default, Elliott V8.5 (EL850CC.EXE) will be checked. Accept the default and click the “Create” button to create the icon. Before creating the icon on your desktop, this program will check if the Elliott application programs are already set up in your local folder. If not, it will copy the necessary files from the network to your local folder. Once complete, it will create the icon to run your Elliott application. Your Elliott programs are copied to your local user profile folder as in the following example:
    C:\users\<username>\appdata\local\Netcellent\<NetworkDrive>\<ElliottRoot>\bin85
<NetworkDrive> can be value like “M” which is the network drive where your Elliott V8.5 is installed. <ElliottRoot> can be a value like “Elliott8” which is the folder where your Elliott is installed on the network drive. The startup executable for Elliott V8.5 Control Center is EL850CC.EXE. Since this path is long, in the future, when you try to run Elliott from your local, simply click on the Elliott V8.5 icon on your desktop, or choose from the program menu in "Start" -> "Elliott 8.5" to run.

If you are running Elliott on the server, it is likely that you will encouter Error 114 when you start up Elliott. The "Create DEP Exclusions" is selected by default if you are running this utility on a server.  If you did not check this option, you may need to fix this manually.  Please refer to the section “Fix DEP Issue If You Get Error 114 When Starting Up Elliott” below for more details on this issue.

Since the default local folder is your user's profile folder, it is not appropriate to create the icon for "Everyone on this machine," so this option is grayed out. Also, the "C:\users\<username>\appdata" is a hidden folder.  If you want to use Windows Explorer to browse to this folder, you have to choose the option in Windows Explorer to show the hidden folder before you can see it.

With prior Elliott version, you need to add DEP Exclusions to Windows Data Execution Prevention Tab manually to prevent Elliott Startup Error 114 when running on the server. We are making it easier now by offering the option of "Create DEP Exclusions" option in EL850.EXE utility.  This option is selected by default when you run EL850.EXE utility on the server.  

When you add Elliott EXEs to Windows Data Execution Prevention Tab, behind the scene, Windows is writing registry entries to HKLM area. See KB article: http://support.elliott.com/knowledgebase/articles/531028-manage-data-execution-prevention-dep-through-reg for more details.  In some situations, we noticed when user try to run Elliott from the user profile folder (Run Local,) the registry entries should be added to HKCU area instead. 

The EL850.EXE mimic the Windows Data Execution Prevention Tab behavior.  It first add registry entries to the HKCU area. By default, all users should have the permission to update the registry HKCU.  Then EL850.EXE will attempt to add entries to HKLM area as well.  Since only admin user have right to modify HKLM, system will perform UAC Elevation if UAC elevation is not disabled on your machine.  It may prompt you to enter an admin user and password if you are not an admin equivalent. See sample screen below:



If you were able to successfully elevate the UAC security, then registry entries will be created in HKLM area.  If the enter an user and password that does not have right to modify HKLM, then you will receive an error message.  In that case, you can resolve the DEP issue manually through Windows DEP tab, or add registry key manually.  If you choose "No" to the UAC prompt, then EL850.EXE will skip the step of modifying HKLM.  You should still be able to run Elliott 8.5 with your login, but other users may not be able to run if your installation is for Hybrid Mode.

Set Up to Run in Hybrid Mode

Hybrid mode is mostly used if you run Elliott on the terminal server. Elliott Hybrid mode is similar to Local mode, where the Elliott programs are copied to a local folder. But in Local mode, each user will have their own copy of Elliott programs in their profile folder. With Hybrid mode, all users on the server will share the same programs in a central directory. The result is saving disk space.  You can estimate roughly 200 MB additional disk space per user on the terminal server if you choose to use the Run Local mode. If this is not a concern for you, then you should just use the Run Local mode for fewer complications.

For example, you may set up the following Run Hybrid folder on your server:
  D:\ElliottHybrid\Netcellent\M\Elliott8\Bin85

You may use EL850.EXE utility to create this Hybrid folder by clicking on the "Change" button in "Local Folder" area.  Then in the "Browse For Folder" dialog window, choose "Make New Folder" to create a new folder under your local drive.  See sample screen below:


Now click "OK" to return the folder name back to the prior window.  In the example above, we choose to create a local folder "ElliottHybrid" on C: drive.  It can be whatever folder name you'd like but don't use "space" in your folder name. Now you will see the full path returned to the "Local Folder" area as in the following sample screen:

In the sample screen above:
  • C:\ElliottHybrid: This is the folder you choose to create.
  • Netcellent: This name is hard-coded and needed to make the Run Hybrid mode work.
  • M\Elliott8\Bin85: This is to match your Network Folder.
If you choose the option to create the icon for "Everyone on this machine," then you don't need to run this EL850.EXE utility for each desktop user who uses this terminal server. You can only do so if you are the Windows Administrator or Administrator equivalent.

If you did not choose to create an icon for "Everyone on this machine," you may manually create the icon on each user's desktop by using the following sample values:
  • Target: D:\Netcellent\M\Elliott8\Bin85\EL850CC.EXE
  • Start in: D:\Netcellent\M\Elliott8\Bin85
See the following sample screen:


Since running on the server will likely result in receiving error 114, which requires you to define the DEP exclusions for Elliott, the option "Create DEP Exclusions" is selected by default when you run on the server so you don't have to create the DEP exclusions manually.

Hybrid mode will potentially save disk space since all users on the terminal server will share the same copy of Elliott programs. But since all users running in the Hybrid mode can make updates from the network to local, you should not implement NTFS security to restrict your Elliott users from updating the local Elliott folder. Otherwise, after the Elliott programs are updated on the PSQL server, the admin should take on the responsibility to immediately go to each terminal server running in the Hybrid mode to start up Elliott to initiate the synchronization.

Also, it is more likely that your users may receive update conflict messages when starting up Elliott in the Hybrid mode because multiple users share the application programs in he same folder. Therefore, it is suggested that you limit your Elliott updates on the network to after hours if Hybrid mode is used. But then you still may be faced with the issue that some of your uses do not logoff from Elliott at the end of the day.

If you choose the option to create a desktop icon for "Everyone on this machine," or "Create DEP Exclusions," you may receive the UAC elevation prompt. This is normal if you do not login as "Administrator" directly. 

Continue to Run in Network Mode

Running Elliott in Network mode is the traditional method and is still supported in Elliott V8.5. The reason this is not the default method is due to the fact that the new Run Local mode improves Windows security, Elliott updates and stability issues. To use the Run Network mode, you will have to set up the Elliott icon manually yourself. For example, if your Elliott V8.5 resides in network folder “M:\Elliott8\Bin85,” then you will set up the icon with the following sample value:
  • Target: M:\Elliott8\Bin85\EL850CC.EXE
  • Start in: M:\Elliott8\Bin85
Since it is likely that you will receive error 114 when starting up Elliott when running on the server, you will need to address this issue manually by adding the DEP exclusions.  Please refer to the section “Fix DEP Issue If You Get Error 114 When Starting Up Elliott” below for more details on this issue.

Additional Information with Run Local or Hybrid Mode


Files Used by Run Local or Hybrid Mode
When you choose to run Elliott V8.5 in Local or Hybrid mode, the following files in your network <ElliottRoot>\Bin85 folder are copied to your Local folder path:
  • EXE: Application
  • DLL: Application Extension
  • CFG: Configuration File
  • INI: Configuration Settings (COBOL related)
  • LBR: Library  (COBOL related)
  • PDB: Program Debug Database (for .Net Related Programs)
  • SF: Sub Files (COBOL related)
  • Config: XML Configuration File
  • XML: XML File
One exception is EL850.CFG file. Even though this file is copied to your local Bin85 folder, but we always reference the one in your network (or target) path. 

Keep in mind that there are three different possible CFG files:
  • EL850.CFG: This is the configuration set up through the EL850CF.EXE utility.  These are settings related to your system operation, including your license key, email setup, database configuration, etc. 
  • EL850S.CFG: This is the standard configuration file delivered from Netcellent.
  • EL850U.CFG: This is the user-defined configuration file to override values in EL850S.CFG.
Even when you choose to run in Local or Hybrid mode, we continue to access other files in other folders like DATA, Reports or Log on the network (target path).  This includes the sub folders under the Bin85 folder.

Maximum File Path Length for Run Local or Hybrid Mode
The maximum file path when running from a Local or Hybrid folder is 160 bytes. This is the maximum length of the folder path combined with the file name.

Maximum File Path Length for Run Network Mode
The maximum file path when running from Network (the legacy method) is 50 bytes. This is the maximum length of the folder path combined with the file name.  Since this is a much shorter length than the Run Local or Hybrid mode, make sure your network path for <ElliottRoot> is set to this limitation.

Fix DEP Issue If You Get Error 114 When Starting Up Elliott
If you are running Elliott on a workstation, chances are you won’t encounter DEP issues. On the other hand, if you are running Elliott on the server, you are likely to receive Error 114 when you start up Elliott. In that case, you need to resolve the DEP issue with the following steps:

Bring up Computer Properties and go to “Advanced System Settings.” Under “Performance,” click on the “Settings” button. Go to the “Data Execution Prevention” tab, . If you are running Elliott on the server only for the Admin user or Defer Processing, we suggest you to select “Turn on DEP for essential Windows programs and services only.” This will require rebooting your server for this change to take effect.

If this is a terminal server, we suggest that you define Elliott V8.5 programs in the exlusion list. Depending on whether you are running in Local, Hybrid or Network mode, browse to the corresponding Elliott programs folder and exclude the following Elliott 8.5 EXE programs from DEP:
  • DDF2BTR.EXE
  • EL850CC.EXE
  • EL850DP.EXE
  • EL850EV.EXE
  • EL850GE.EXE
  • EL850ME.EXE
  • EL850P.EXE
  • EL850RP.EXE
  • EL850TK.EXE
  • EL850US.EXE
You may refer to the following KB article for more detail:


EMK

Elliott Version 8.5

  1. V8.5 Alpha Document Number Support
  2. Crystal Report Conversion for V8.5
  3. Animating COBOL Code in Elliott V8.5
  4. The Run Local or Hybrid Feature in Elliott 8.5
  5. How to Use EL850DB.EXE Utility to Create PSQL Databases
  6. PSQL Database Naming Convention for 8.5 Databases
  7. Showing Document Date in Links After Elliott 8.5
  8. The Lessons We Learned from Upgrading Web Service 8.2 to 8.5 in eStore
  9. Report Desk Tables
  10. Report Desk Delivery Strategy
  11. Report Desk Thresholds
  12. How Is Font Being Determined in Report Desk?
  13. How to Use DebugLogLevel Registry Value to Debug Report Desk Issues
  14. How to Use Report Desk – User Perspective
  15. How to Use Report Desk – Admin Perspective
  16. Feature - ASCII File Filter Condition in Mass Email and Export Processor
  17. How to Use Variables in Report Desk Title and Column Headings
  18. How to Override Report Desk Font and Margin Defaults
  19. Feature - List Users Acively Logged into Elliott and Optionally Send Email
  20. Feature - Allow Print One Invoice to Print Duplicate Invoices for Order Not Posted
  21. Feature - Print Range of Duplicate Unposted Orders
  22. Feature - Prevent Duplicate Invoice Numbers with Invoice Cross Reference File
  23. Feature - Last Year Net Income Layout Support
  24. Receive Message "Not Found" When Trying to Set Up Run Local
  25. Receive 'Invalid Column Name' Message After Starting to Use Alphabetic Document Numbers
  26. Feature - Invoice Log Report
  27. Feature - Add Sales or Usage to Where-Used inquiry
  28. Feature - Case Size Support for Quantity Per Box
  29. Feature - Exclude Obsolete Customers from Customer Generic Search
  30. Feature - Refresh VICS Bill of Lading
  31. Feature - Support Item Case Size in New Item CSV Import and Change Existing Item Import
  32. Feature - Copy Notes, Attributes, and Links When Copying Item Through the New Item CSV Import
  33. Feature - Enhanced Cash Receipts Processing Apply-To Range
  34. Feature - Add Links Import to System Files Setup
  35. Feature - Shipment Email Acknowledgement for Bill-To Customers
  36. Feature - Restrict Sending Tracking Number to Bill-To Customer in Shipment Email Acknowledgement
  37. Overriding Report Desk Report Configuration
  38. Report Desk: Using Global Variables and Parameters
  39. Using CheckBoxes in Report Desk

Feedback and Knowledge Base