***************************************************************************** * * GCI.NTINST.B - install a GCI library, Windows NT version * * Module %M% Version %I% Date %H% * * (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved * This is unpublished proprietary source code of Ardent Software Inc. * The copyright notice above does not evidence any actual or intended * publication of such source code. * ******************************************************************************* * * Maintenance log - insert most recent change descriptions at top * * Date.... GTAR# WHO Description......................................... * 10/14/98 23801 SAP Change copyrights. * 04/01/96 18026 PGW Module created. * ******************************************************************************* * * This program installs a new GCI library automatically. It is normally run * from the GCI.ADMIN menu, but you can run it by hand as follows: * * RUN APP.PROGS GCI.NTINST.B file.name * * where 'file.name' is the name of a GCI Definition file. * * The program simply copies the built library into the UVHOME/bin directory, * and adds its name to the list of libraries in the Windows NT Registry. * ******************************************************************************* * $OPTIONS DEFAULT PROGRAM GCI.NTINST.B ID = "@(#)%M% %I%" $INCLUDE UNIVERSE.INCLUDE FILENAMES.H $INCLUDE UNIVERSE.INCLUDE MACHINE.NAME * EQUATE bell TO CHAR(7) PROMPT "" cl = @(-4) cl.err = @(0,23):cl err = cl.err:bell msg10 = err:PROD.NAMEU:' General Calling Interface is not installed.' failure.message = "GCI Library installation failed." OPEN '','DATA.TYPES' TO file.data.types ELSE PRINT msg10: INPUT q: ; PRINT cl.err: ; STOP END * You *must* specify the definition file by putting its name on the * command line. This program does not default to 'GCI', since * bin/gci.dll is installed when uniVerse is installed. cmd = CONVERT(" ", @FM, TRIM(@SENTENCE)) def.file.name = cmd<4> IF def.file.name = "" THEN PRINT "You must specify a GCI Definition File name." STOP END sccsid = DOWNCASE(def.file.name) dll.name = sccsid : ".dll" dll.path = "bin\" : dll.name PRINT @( -1 ) PRINT @( 0, 0 ):"General Calling Interface Administration" : @( 67, 0 ) : "GCI.NTINST.B": PRINT @( 17, 1): 'Install a GCI Library from GCI Definition File "':def.file.name:'"': PRINT @( 0, 2 ): STR( "-", 79 ): PRINT @( 0, 4 ): PRINT 'This procedure will copy the ':PROD.NAMEU:' GCI library ':dll.name PRINT 'to the ':UV.BIN:' directory,' PRINT 'and add it to the list of GCI libraries loaded for all users.' PRINT PRINT 'Are you sure you want to continue? (Y/N)': INPUT ans ans = UPCASE(ans) IF ans <> "Y" THEN STOP * Copy the built dll into the UVHOME/bin directory xcmd = OS.EXEC : ' "copy ' : UV.GCI : '\' : dll.name : ' ' : UV.BIN : '"' PRINT xcmd EXECUTE xcmd CAPTURING xout IF INDEX(xout, " 1 file(s)", 1) = 0 THEN LOOP REMOVE xfrag FROM xout SETTING xdelim PRINT xfrag WHILE xdelim > 0 DO REPEAT PRINT failure.message STOP END * Update the standard GCI library list @SYSTEM.SET = -1 xcmd = 'RUN APP.PROGS GCI.NTADDL.B ' : dll.path PERFORM xcmd IF @SYSTEM.RETURN.CODE < 0 THEN PRINT failure.message END ELSE PRINT "GCI Library '":dll.name:"' successfully installed." END * Done STOP END