Problem:
How to deploy native applications built with Visual COBOL 2.3, Visual COBOL 2.3 Update 1, and Visual COBOL 2.3 Update 2 on the network?
Solution:
The following instructions are based on a 64-bit Windows environment where:
- the 32-bit software is installed in C:\Program Files (x86)
- Windows keeps the 32-bit system files in C:\Windows\SysWOW64
- Windows keeps the 64-bit system files in C:\Windows\System32.
On a 32-bit Windows environment, the software is installed in C:\Program Files, and Windows keeps the system files in C:\Windows\System32.
Development requirements:
Compile the native COBOL programs with the dynamic link setting.
- click Properties under project
- click the Link property
- select Dynamic checkbox
- rebuild solution
There are two series of preparations to be done on both server and client sides to allow the COBOL applications to be launched from client machines.
Server setup:
1. Install COBOL Server for the intended Visual Studio version (cs_23.exe, cs_231.exe, or cs_232.exe)
2. Go to Start > All Programs > Micro Focus License Manager > License Administration
3. Install the license
4. Click Options > Advanced Configuration
5. Change the value for License Server with the current server's name or IP address
6. Click Save and close License Administration
7. Copy the following files to C:\Program Files (x86)\Micro Focus\COBOL Server\bin:
- C:\Program Files (x86)\Common Files\Safenet Sentinel\Sentinel RMS License Manager\WinNT\mfcesd.exe
- C:\Program Files (x86)\Common Files\Safenet Sentinel\Sentinel RMS License Manager\WinNT\mfcesdchk.exe
- C:\ProgramData\Micro Focus\ces.ini (note: C:\ProgramData is hidden by default, so the "Show hidden files, folders, and drives" option under Control Panel > Folder Options has to be enabled to make it visible)
8. Copy C:\Windows\SysWOW64\msvcr110.dll from the development machine to C:\Program Files (x86)\Micro Focus\COBOL Server\bin:
9. If the COBOL application is built as 64-bit, copy C:\Windows\System32\msvcr110.dll from the development machine to C:\Program Files (x86)\Micro Focus\COBOL Server\bin64:
10. Create a network share (e.g. COBOLsrv) off C:\Program Files (x86)\Micro Focus\COBOL Server and give read-only access to users
11. if the COBOL application is deployed on the server:
- Create a run-time launch file with a text editor as progname.exe.mfcfg (where progname is the same name as the .exe) with the following two lines:
SET SERVERPATH=\\ServerName\COBOLsrv
SET CESDYNAMIC=ces.ini
where ServerName should be replaced by the actual server's name or IP address.
- Place the run-time launch file in the same folder as the .exe file
Client setup:
1. Set the PATH on the client machine to include the COBOL Server's "bin" and application folders:
- if the COBOL application is built as 32-bit:
PATH=\\ServerName\COBOLsrv\bin;<AppFolder>;%PATH%
where ServerName is the actual server's name or IP address
where <AppFolder> is the actual application folder
- if the COBOL application is built as 64-bit:
PATH=\\ServerName\COBOLsrv\bin64;\\ServerName\COBOLsrv\bin;<AppFolder>;%PATH%
where ServerName is the actual server's name or IP address
where <AppFolder> is the actual application folder
2. Set COBDIR to point to the COBOL Server's share name:
COBDIR=\\ServerName\COBOLsrv
3. if the COBOL application is deployed on the client machine:
- Create a run-time launch file with a text editor as progname.exe.mfcfg (where progname is the same name as the .exe) with the following two lines:
SET SERVERPATH=\\ServerName\COBOLsrv
SET CESDYNAMIC=ces.ini
where ServerName should be replaced by the actual server's name or IP address.
- Place the run-time launch file in the same folder as the .exe file
4. Run the application