Feedback
Did this article resolve your question/issue?

   

Article

Service Pack installer does not install correct procedure library file versions with a FULL install

Information

 
TitleService Pack installer does not install correct procedure library file versions with a FULL install
URL NameService-pack-installer-doesn-t-install-correct-file-versions-for-FULL-install
Article Number000112262
EnvironmentProduct: OpenEdge
Version: 11.7.4, 11.7.5
OS: Windows
Other: Installation
Question/Problem Description
Service pack installer does not install correct file versions for FULL install.

A new Installation of 11.7.4 or 11.7.5 installs old PL-Files

Service Pack installer does not install correct versions of procedure libraries (.PL) when performing a FULL installation of OpenEdge 11.7.

Problem affects such files as:

gui\OpenEdge.Core.pl
gui\OpenEdge.BusinessLogic.pl
gui\OpenEdge.ServerAdmin.pl
gui\netlib\OpenEdge.Net.pl
gui\rules\OpenEdge.BusinessRules.pl
oeide\eclipse\plugins\org.apache.ant_1.9.6.v201510161327\bin\antRun.pl
oeide\eclipse\plugins\org.apache.ant_1.9.6.v201510161327\bin\complete-ant-cmd.pl
oeide\eclipse\plugins\org.apache.ant_1.9.6.v201510161327\bin\runant.pl
proedit\builtins\builtins.pl
tty\ablunit.pl

Installing a full OpenEdge 11.7 version with the 11.7.4 or 11.7.5 Service Pack installer.
Post install a variety of problems when running code relating to one or more of these procedure libraries.

Problem #1
After installing a full copy of 11.7.4, running the following code raises error 12927:
USING OpenEdge.Net.HTTP.IHttpRequest.
USING OpenEdge.Net.HTTP.IHttpResponse.
USING OpenEdge.Net.HTTP.ClientBuilder.
USING OpenEdge.Net.HTTP.RequestBuilder.
USING OpenEdge.Net.HTTP.IHttpClientLibrary.
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder.

DEFINE VARIABLE oLib AS IHttpClientLibrary NO-UNDO.
DEFINE VARIABLE oRequest  AS IHttpRequest NO-UNDO.
DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.

ASSIGN
    oLib        = ClientLibraryBuilder:Build()
                                      :sslVerifyHost(NO)
                                      :ServerNameIndicator('some.servername.com')
                                      :library.                                                      
oRequest = RequestBuilder:Get('https://some.servername.com/'):Request.
oResponse = ClientBuilder:Build()
                         :UsingLibrary(oLib)
                         :Client
                         :Execute(oRequest).
                           
MESSAGE oResponse:StatusCode SKIP oResponse:StatusReason SKIP VIEW-AS ALERT-BOX.
The definition of the ConfigOption TEMP-TABLE changes between 11.7.0 and 11.7.4:
 
User-added image

The ServerNameIndicator method cannot be found in the Class Browser in the OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder class:
User-added image

Problem #2
Running the following code fails with errors 13203 (relating to TEMP-TABLE ConfigOption definitions), 10068, 3135 as a result of the wrong version of gui\OpenEdge.Core.pl being present:
USING OpenEdge.Net.HTTP.IHttpClientLibrary.
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder.
USING OpenEdge.Net.HTTP.IHttpClient.
USING OpenEdge.Net.HTTP.IHttpRequest.
USING OpenEdge.Net.HTTP.IHttpResponse.
USING OpenEdge.Net.HTTP.RequestBuilder.
USING OpenEdge.Net.HTTP.ClientBuilder.

USING OpenEdge.Net.URI.
USING Progress.Lang.Object.
USING Progress.Json.ObjectModel.JsonObject.

DEFINE VARIABLE oURI                AS URI                  NO-UNDO.
DEFINE VARIABLE AuthObj             AS Progress.Json.ObjectModel.JsonObject  NO-UNDO.
DEFINE VARIABLE oRequest            AS IHttpRequest         NO-UNDO.
DEFINE VARIABLE oResponse           AS IHttpResponse        NO-UNDO.
DEFINE VARIABLE oLib                AS IHttpClientLibrary   NO-UNDO.

AuthObj = NEW JsonObject().

oLib = ClientLibraryBuilder:Build():AddSslProtocol('TLSv1.2'):Library.
oURI = new URI("http", "www.google.com").

oRequest = RequestBuilder:Post(oURI,AuthObj):acceptJson():Request.
oResponse = ClientBuilder:Build():Client:EXECUTE(oRequest).
MESSAGE "Finished"
    VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.

The definition of the ConfigOption TEMP-TABLE changes between 11.7.0 and 11.7.4.
 
Steps to ReproducePerform a FULL product installation from the OpenEdge 11.7.4 or 11.7.5 Service pack installer.
Clarifying Information
Installing Openedge 11.7 with the FCS or a full install with earlier Service Packs does not have this problem.

Differences can be seen when comparing file versions with an OpenEdge 11.7.4 installation where OpenEdge 11.7 was previously installed from an earlier release and 11.7.4 was installed as a Service Pack update to the initial install.  

Properties from a FULL installation performed by the 11.7.4 service pack installer:
User-added image
 

 

Error MessageProblem #1:
Could not locate element 'ServerNameIndicator' in class 'OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder'. (12927) 
** Could not understand line 41. (196) 

Problem #2:
TEMP-TABLE 'ConfigOption' of class 'OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder' no longer matches the definition in base class 'OpenEdge.Core.Util.ConfigBuilder'. (13203)
TEMP-TABLE 'ConfigOption' of class 'OpenEdge.Net.HTTP.ConfigBuilder' no longer matches the definition in base class 'OpenEdge.Core.Util.ConfigBuilder'. (13203)
TEMP-TABLE 'ConfigOption' of class 'OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder' no longer matches the definition in base class 'OpenEdge.Core.Util.ConfigBuilder'. (13203)
TEMP-TABLE 'ConfigOption' of class 'OpenEdge.Net.HTTP.Lib.ABLSockets.ABLSocketLibraryBuilder' no longer matches the definition in base class 'OpenEdge.Core.Util.ConfigBuilder'. (13203)
TEMP-TABLE 'ConfigOption' of class 'OpenEdge.Logging.LoggerBuilder' no longer matches the definition in base class 'OpenEdge.Core.Util.ConfigBuilder'. (13203)
Lead attributes in a chained-attribute expression (a:b:c) must be type HANDLE or a user-defined type and valid (not UNKNOWN). (10068)
Invalid handle. Not initialized or points to a deleted object. (3135)
Could not instantiate class '' - compilation is out of date. (12881)
** <file-name> record not on file. (138)
Defect/Enhancement NumberDefect ADAS-13620
Cause
The 11.7 Service Pack installation completes successfully, but some of the library file versions that were updated since 11.7.4 are not correct. The problem is not immediately obvious and can only be seen by running code or by comparing file versions with a valid installation.  

The reason is that reference to serverNameIndicator method was not found in a certain class because, for example the OpenEdge.Net.pl file which needs to be referred for this method has two versions inside OE installer, the artifact for the 11.7.0.0 GA release and that for the Service Pack.
Resolution
Upgrade to OpenEdge 11.7.6 Service Pack or later. Where the correct library file version are installed with the Service Pack.

 
Workaround
Option 1:  Re-install the Service Pack

After installing the 11.7 Service Pack as the Full install, re-install the service pack from the service pack installer. The correct files are installed in the second run because the 11.7 Service Pack is then found and only re-installs the SP content.

1.  Answer 'No'  - to re-install the Service Pack:
--------------------------- 
Question 
--------------------------- 
This service pack has already been installed. 
Would you like to add products to the existing installation? 

Choose Yes to add additional products to this installation. 
Choose No to re-apply the service pack to this installation. 
--------------------------- 
Yes No 
--------------------------- 

2.  Answer 'Yes'  - to confirm reinstalling the Service Pack
--------------------------- 
Question 
--------------------------- 
OpenEdge r11.7 already has Service Pack 4 installed. 

Would you like to proceed with this reinstall of Service Pack 4? 

Click "No" to exit. 
--------------------------- 
Yes No 
--------------------------- 

Once the Service Pack is re-installed, the correct version of these procedure library files resolving the problem:
    
User-added image

User-added image

Option 2:  Replace the Full Service Pack Install procedure libraries

Include the required procedure libraries as part of application code deployment, or added these as a "post-install batch" to copy the needed libraries to the full SP install.
Notes
Progress Articles:
     
000121678, OpenEdge Full Service Pack installer changes introduced since 11.7.1. [000083267]   
000110150, OpenEdge.Net.pl is missing from PROPATH [000095515]  
Last Modified Date9/11/2020 8:10 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.