home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / gsmv122.zip / INSTALL.CMD < prev    next >
OS/2 REXX Batch file  |  1996-11-04  |  7KB  |  178 lines

  1. /* Installation und Update von GSM-SMS.EXE                                  */
  2. /* Programm geschrieben von U.Kunz  ulrich_kunz@ibm.net                     */
  3. /* OS/2 Programm zum versenden von Kurznachrichten                          */
  4. /* Hilfe mit     INSTALL.CMD -?  aufrufen                                   */
  5. PARSE UPPER ARG Unterverzeichnis
  6. PARSE SOURCE PROGRAMM
  7. SOURCE_DRIVE=SUBSTR(PROGRAMM,POS(':',PROGRAMM)-1,LASTPOS('\',PROGRAMM)-POS(':',PROGRAMM)+1)  /* Ermitteln des Source Laufwerkes */
  8. BOOT_DRIVE = FILESPEC('DRIVE',VALUE('SYSTEM_INI',,'OS2ENVIRONMENT'))
  9. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  10. call SysLoadFuncs
  11. rc=syscls()
  12. say ' '
  13. Unterverzeichnis = SPACE(Unterverzeichnis)
  14. Select
  15.    When Unterverzeichnis = '' Then Signal FehlerText
  16.    When Right(Unterverzeichnis,2)='-?' Then Signal FehlerText
  17.    When Right(Unterverzeichnis,2)='-U' Then Signal Update
  18.    When Right(Unterverzeichnis,2)='-I' Then Signal Install_Default
  19.    When Right(Unterverzeichnis,2)='/?' Then Signal FehlerText
  20.    When Right(Unterverzeichnis,2)='/U' Then Signal Update
  21.    When Right(Unterverzeichnis,2)='/I' Then Signal Install_Default
  22.    When LENGTH(Unterverzeichnis) < 4  Then Signal FehlerText
  23.    When SUBSTR(Unterverzeichnis,2,1)=':' Then Signal Install
  24.    Otherwise do
  25.       say ' '
  26.       say 'Fehler aufgetreten. Installation abgebrochen. Weitere Hilfe mit A:\Install -?'
  27.       return
  28.    end
  29. end
  30.  
  31.  
  32. Install:
  33. say 'Die Installation hat begonnen'
  34. rc=SysMkDir(Unterverzeichnis)
  35. if rc=5 Then do
  36.    say 'Unterverzeichnis ist schon vorhanden. Bitte löschen , ein Anderes angeben'
  37.    say 'oder, falls das Programm schon vorhanden ist, mit Install -U arbeiten.'
  38.    say 'Weitere Hilfe mit Install -?'
  39.    RETURN
  40. end
  41. if rc = 0 then do
  42.    CALL DATEI_COPY
  43.    /* Erstellen des Programm-Objekts         */
  44.    rc = SysCreateObject("WPProgram", "GSM-Kurznachrichten", "<WP_DESKTOP>",,
  45.         "EXENAME="||Unterverzeichnis||"\GSM-SMS.EXE;STARTUPDIR="||Unterverzeichnis)
  46.    if rc = 1 then do
  47.       say 'Die Installation wurde erfolgreich beendet.'
  48.       say 'Bitte auf der Arbeitsoberfläche die Icone GSM-Kurzmitteilungen anklicken.'
  49.       say '------------------------------------------------------------------------- '
  50.    end
  51.    else say 'Auf der Arbeitsoberfäche konnte nicht das Object erstellt werden.'
  52.    RETURN
  53. end
  54. say 'Unterverzeichnis konnte nicht erstellt werden. Installation abgebrochen'
  55. RETURN
  56.  
  57.  
  58. Update:
  59. say 'Der Update hat begonnen'
  60. Schleife = 1
  61.  
  62. if LENGTH(Unterverzeichnis) > 2 then do
  63.    if SUBSTR(Unterverzeichnis,2,1)=':' Then do
  64.       DRIVE.1 = LEFT(Unterverzeichnis,2)
  65.    end
  66.    else do
  67.       say "Es ist kein Laufwerk angegeben, wie z.B. Install  F:  -u"
  68.       return
  69.    end
  70. end
  71. else do
  72.    rc = SysDriveMap('C','LOCAL')
  73.    if Length(rc) = 2 then Drive.Schleife = rc
  74.    Do While POS(' ',RC) <> 0
  75.      Drive.Schleife = SUBSTR(rc,POS(' ',rc)-2,2)
  76.      Schleife = Schleife+1
  77.      rc = SUBSTR(rc,4)
  78.      Drive.Schleife = rc
  79.    end
  80. end
  81. Zahl=1
  82. Do Schleife
  83.    if SysDriveInfo(Drive.Zahl) <> '' then do
  84.       rc = sysFiletree(Drive.Zahl||'\GSM-SMS.EXE','Datei',FSO)
  85.       if Datei.0 = 1 then do
  86.          Pfad = Datei.Zahl
  87.          SIGNAL Kopieren
  88.       end  /* if then do */
  89.       else do
  90.          say 'Mehr als eine Kopie des Programms gefunden. Bitte die 2. Kopie'
  91.          say 'löschen. Hilfe bekommen Sie mit Install -?'
  92.          RETURN
  93.       end /* else do */
  94.    end
  95.    Zahl=Zahl+1
  96. end
  97. say 'Das Programm nicht gefunden. Mögliche Fehlerursachen :'
  98. say '1. Das Programm ist nicht auf dem PC installiert oder'
  99. say '2. es ist ein falsches Laufwerk angegeben.'
  100.  
  101. RETURN
  102.  
  103. KOPIEREN:
  104. Unterverzeichnis = SUBSTR(Pfad,1,LASTPOS('\',Pfad))
  105. CALL DATEI_COPY
  106. /* Erstellen des Programm-Objekts         */
  107. rc = SysCreateObject("WPProgram", "GSM-Kurznachrichten", "<WP_DESKTOP>",,
  108.      "EXENAME="||Pfad||";STARTUPDIR="||SUBSTR(Pfad,1,LASTPOS('\',Pfad)),'Update')
  109. say 'Der Update wurde erfolgreich beendet.'
  110. say '------------------------------------- '
  111.  
  112. RETURN
  113.  
  114.  
  115. Install_Default:
  116. rc=SysCLS()
  117. say
  118. say 'Die Installation hat begonnen'
  119. Unterverzeichnis=BOOT_DRIVE||'\GSM'
  120. rc=SysMkDir(Unterverzeichnis)
  121. if rc=5 Then do
  122.    say 'Unterverzeichnis ist schon vorhanden. Bitte löschen , ein Anderes angeben'
  123.    say 'oder falls das Programm schon vorhanden ist mit Install -U arbeiten'
  124.    say 'weitere Hilfe mit Install -?'
  125.    RETURN
  126. end
  127. if rc = 0 then do
  128.     CALL DATEI_COPY
  129.    /* Erstellen des Programm-Objekts         */
  130.    rc = SysCreateObject("WPProgram", "GSM-Kurznachrichten", "<WP_DESKTOP>",,
  131.         "EXENAME="||Unterverzeichnis||"\GSM-SMS.EXE;STARTUPDIR="||Unterverzeichnis)
  132.    if rc = 1 then do
  133.       say 'Die Installation wurde erfolgreich beendet.'
  134.       say 'Bitte auf der Arbeitsoberfläche die Icone GSM-Kurzmitteilungen anklicken.'
  135.       say '------------------------------------------------------------------------- '
  136.    end
  137.    else say 'Auf der Arbeitsoberfäche konnte nicht das Object erstellt werden.'
  138.    RETURN
  139. end
  140. say 'Unterverzeichnis konnte nicht erstellt werden. Installation abgebrochen'
  141. RETURN
  142. FehlerText:
  143. say'Bitte folgendes Format einhalten: '
  144. say'                                  '
  145. say' A:\INSTALL  -I             Für default Installation  auf die'
  146. say'                            Boot-Drive in das Unterverzeichnis  \GSM'
  147. say'                                                              '
  148. say' A:\INSTALL  D:\MeinProg    Das Programm wird in das Unterverzeichnis \MeinProg'
  149. say'                            auf Platte D: gespielt.'
  150. say'                            Das Laufwerk muß mit angegeben werden. \MeinProg'
  151. say'                            reicht nicht aus'
  152. say'                                                   '
  153. say' A:\INSTALL  [DRIVE:] -U    Sie haben das Programm schon auf Ihrem Rechner'
  154. say'                            und möchten eine neue Version aufspielen.'
  155. say'                            Achtung ! geben Sie keine Drive an, so werden nur'
  156. say'                            lokale Platten durchsucht.'
  157. say'                            Die vorhandenen Einstellungen werden nicht geändert'
  158. say'                                                                    '
  159. say' A:\Install  -?             Diese Hilfe ...'
  160. say' '
  161. say' Für Experten : Bei einem Update können die neuen Dateien einfach in das schon'
  162. say' vorhandene Unterverzeichnis kopiert werden. Die persönlichen Einstellungen'
  163. say' befinden sich in der GSM-SMS.INI, die im Update nicht enthalten ist.'
  164. RETURN
  165.  
  166. DATEI_COPY:
  167.  
  168. 'COPY '||SOURCE_DRIVE||'\GSM-SMS.EXE 'Unterverzeichnis
  169. 'COPY '||SOURCE_DRIVE||'\GSM-SMS.HLP 'Unterverzeichnis
  170. 'COPY '||SOURCE_DRIVE||'\GEBUEHR.INI 'Unterverzeichnis
  171. 'COPY '||SOURCE_DRIVE||'\READ.ME 'Unterverzeichnis
  172. 'COPY '||SOURCE_DRIVE||'\MODEM.LST 'Unterverzeichnis
  173. 'COPY '||SOURCE_DRIVE||'\RXCOM.DLL 'Unterverzeichnis
  174. 'COPY '||SOURCE_DRIVE||'\COMPORT.DLL 'Unterverzeichnis
  175. 'COPY '||SOURCE_DRIVE||'\REGISTER.TXT 'Unterverzeichnis
  176. RETURN
  177.  
  178.