Go Back

SERIAL routine does not return REV11 registration string on pre-v11 systems running the REV11 license upgrade package

Article Number: 2467
First Published:
Modified:
Recent Activity:
Views: 44
OS: Windows, Unix
Product: Synergy DBL, Licensing

On systems with the REV11 licensing upgrade package installed, the SERIAL routine will not return the new, longer registration string used by REV11 licensing. Instead, SERIAL returns "New---R-eg FN---" or it may return a portion of the longer string. 


(SERIAL does return the longer string in Synergy/DE 11, but this enhancement is not, of course, present on older versions of Synergy that are running the licensing upgrade package. Also note that users of v11 will need to change the size of the variable they use with SERIAL to accommodate the longer string.)


To help find occurrances of SERIAL in your code, first do a case-insensitive search for "serial" and then look for instances of "xcall serial" (in case there are tabs, spaces, or returns between the words).


On pre-v11 systems, it still possible to get the system’s REV11 registration string. One technique is to run the lmu command in an open pipe and obtain the registration string from the lmu output. Below is a simple example of a subroutine that uses an open pipe to return the REV11 registration string –

 

subroutine getnewreg
   a_newregstr    ,a;string   ;Be sure to pass at least a 35 byte alpha (31 for
                              ; the registration string and 4 for dashes)
proc
   begin
     data pchn    ,int
     data lmuinfo ,a 255
     data cmd     ,string ,"|lmu.exe"
     data pos     ,int
     
     open(pchn=0, I, cmd)
     
     repeat
       begin
         reads(pchn, lmuinfo, eof)
         if pos = %instr(1, lmuinfo, "Registration String:")
           begin
             a_newregstr = lmuinfo(pos+21, trimz(lmuinfo))
           end
       end
     
eof,
     close pchn
     xreturn
   end
endsubroutine

 



THE INFORMATION PROVIDED TO YOU IN THIS SERVICE IS FOR YOUR USE ONLY. THE INFORMATION MAY HAVE BEEN DEVELOPED INTERNALLY BY SYNERGEX OR BY EXTERNAL SOURCES. SYNERGEX MAKES NO WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS INFORMATION, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SYNERGEX BE LIABLE FOR ANY DAMAGES OR LOSSES INCURRED BY YOU IN USING OR RELYING ON THIS INFORMATION, INCLUDING WITHOUT LIMITATION GENERAL DAMAGES, DIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES, OR LOSS OF PROFITS, EVEN IF SYNERGEX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Please log in to comment on this article.