Using GEOSYSTEM Software Products with a Windows Server

August 1, 2016

Question: How can GEOSYSTEM Software products be used with a Windows server?

Explanation: The software itself doesn't care where it is installed or where its data files are stored. (Here we use a mixture of Linux servers, NAS servers running Linux and Windows servers, and all work fine with our software products.) However, Windows file servers (and Linux servers running SAMBA) feature a network speed-tuning technique called opportunistic file locking (or "oplocks") that will almost be guaranteed to cause file corruption when project files or concrete break databases are accessed from multiple computers simultaneously (this is acknowledged by Microsoft in multiple support documents, including #s 126026, 1342228, 129202, 219022 and 300216).

Solution: Oplocks must be disabled on the file server if any problems arise with GEOSYSTEM project files or databases that are stored on a file server.

NOTE: The following instructions involve the use of the Registry Editor. Using this tool incorrectly can cause serious, system-wide problems that may require you to reinstall your operating system. Follow these instructions at your own risk. If you do not know what you are doing, *please* find someone who does. These settings are taken from the Microsoft support documents noted below: if you have questions regarding their application, contact Microsoft.

  • These instructions are covered in more detail in this Microsoft KnowledgeBase article, currently available here.
  1. On the server, start REGEDIT (Start button > "Run" then enter REGEDIT).
  2. Locate the following registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Add or change the following key:
    Value Name: EnableOplocks
    Data Type: DWORD Value
    Data: 0
  4. On Windows servers oplocks cannot be totally disabled except by turning off SMB2 and SMB3 support on the server. This is accomplished through another registry entry under the same key as above:
    Value Name: SMB2
    Data Type: DWORD Value
    Data: 0

    Finally, make sure SMB1 support is enabled:
    Value Name: SMB1
    Data Type: DWORD Value
    Data: 1

  5. Reboot the server.