Problem:
How to deploy native applications built with Visual COBOL 2.2 Update 1 and 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.
There is a new method of running an application over the network since Visual COBOL 2.2 Update 1. It consists of using the "runtime launch configuration file", which does not require to run mfcesd.exe explicitly from a .bat file from the client machines.
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 (cs201x_221.exe or cs201x_222.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 201x\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)
- C:\Windows\SysWOW64\msvcr100.dll
8. Copy one of the following files (if applicable) from the development machine to C:\Program Files (x86)\Micro Focus\COBOL Server 201x\bin:
- C:\Windows\SysWOW64\msvcr110.dll if the COBOL application was built as 32-bit with VS 2012
- C:\Windows\SysWOW64\msvcr120.dll if the COBOL application was built as 32-bit with VS 2013
9. Copy one of the following files (if applicable) from the development machine to C:\Program Files (x86)\Micro Focus\COBOL Server 201x\bin64:
- C:\Windows\System32\msvcr100.dll if the COBOL application was built as 64-bit with VS 2010
- C:\Windows\System32\msvcr110.dll if the COBOL application was built as 64-bit with VS 2012
- C:\Windows\System32\msvcr120.dll if the COBOL application was built as 64-bit with VS 2013
10. Create a network share (e.g. COBOLsrv) off C:\Program Files (x86)\Micro Focus\COBOL Server 201x 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 COBOLsrv share and application folder:
- 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. 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
3. Run the application
Note:
The instructions for "Network deployment of Visual COBOL 2.2 native applications" are still valid to deploy Visual 2.2.1 and 2.2.2 native applications.