home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #3 / _.ISO / cdd / prodemo / se_khk / setup.mst < prev    next >
Text File  |  1994-10-23  |  33KB  |  1,170 lines

  1. '**************************************************************************
  2. '* Project : KHK-Setup-Routinen
  3. '*-------------------------------------------------------------------------
  4. '* Module  : Setup
  5. '*-------------------------------------------------------------------------
  6. '* File    : PCKWIN.MST
  7. '*-------------------------------------------------------------------------
  8. '* Datum   : 21/04/93
  9. '*-------------------------------------------------------------------------
  10. '* von     : (C) 1993 KHK Software                      Klaus Klinger
  11. '*-------------------------------------------------------------------------
  12. '* Aufgabe : Installationsscript fⁿr den PC-Kaufmann
  13. '*-------------------------------------------------------------------------
  14. '* History : 21/04/93   Erstellt                        Klaus Klinger
  15. '**************************************************************************
  16.  
  17. '* INCLUDES ---------------------------------------------------------------
  18.  
  19. '$INCLUDE 'setupapi.inc'
  20. '$INCLUDE 'msdetect.inc'
  21. '$INCLUDE 'khksetup.inc'
  22.  
  23. '* DEFINES ----------------------------------------------------------------
  24.  
  25. CONST KHKDRIVE1         = "Windows Laufwerk ('"
  26. CONST KHKDRIVE2         = "') ist ungⁿltig."
  27.  
  28. CONST TRUE              = 1
  29. CONST FALSE             = 0
  30. CONST ABORT             = -1
  31. CONST HDMEMORY          = -2
  32. CONST ABORTALL          = -3
  33.  
  34. CONST BASEDIR           = "\DATA"
  35. CONST DEMODATEN         = "\1"
  36. CONST STAMM             = "\STAMM"
  37.  
  38. CONST QUESTION          = MB_YESNOCANCEL+MB_TASKMODAL+MB_QUESTION
  39. CONST OKMSG             = MB_OK+MB_TASKMODAL+MB_ICONHAND
  40.  
  41. '* GLOBALS ----------------------------------------------------------------
  42.  
  43. GLOBAL szExecDir$          
  44. GLOBAL szDataDir$
  45. GLOBAL szTempDir$
  46. GLOBAL szWindDir$
  47. GLOBAL szCountry$
  48.  
  49. GLOBAL szOldExecDir$
  50. GLOBAL szOldDataDir$
  51.  
  52. GLOBAL szAppExec$
  53.  
  54. GLOBAL UseOption$               ''
  55. GLOBAL szMsg$
  56.  
  57. GLOBAL nVersion%
  58. GLOBAL nUpdate%
  59. GLOBAL nUser%
  60. GLOBAL nAppType%
  61. GLOBAL bStation%
  62. GLOBAL bAddOn%
  63. GLOBAL bCrossUpdate%
  64. GLOBAL szDllSer$
  65. GLOBAL bKonvert%
  66. GLOBAL bRenForm%
  67.  
  68. '* DECLARES ---------------------------------------------------------------
  69.  
  70. '*
  71. '* Interne Deklarationen *****************************************************
  72. '*
  73.  
  74. DECLARE SUB WriteSystemInfo
  75. DECLARE FUNCTION Install AS INTEGER
  76. DECLARE FUNCTION GetCompany(szUserName$,szCompany$,szSerial$) AS INTEGER
  77. DECLARE FUNCTION TestPath (szDir$) AS INTEGER
  78. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  79. DECLARE FUNCTION GetProfileName (nType%) AS INTEGER
  80.  
  81. '*
  82. '* Externe Deklarationen *****************************************************
  83. '*
  84.  
  85. DECLARE FUNCTION GetFreeSpace LIB "kernel" (Dummy%) AS LONG
  86. DECLARE FUNCTION ShowWindow LIB "user" (hWnd%,nType%) AS INTEGER
  87.  
  88. INIT:
  89.     nVersion%=0
  90.     bStation%=FALSE
  91.     bAddOn%=FALSE
  92.     bCrossUpdate%=FALSE
  93.     bKonvert%=FALSE
  94.     bRenForm%=FALSE
  95.     szDLLSer$=STRING$(32,32)
  96.     nAppType%=GetInstallState(VARPTR(nUpdate%),VARPTR(nUser%),szDLLSer$)
  97.  
  98.     IF nUpdate% = VER_UPDATE THEN
  99.         szMsg$ = KHKUPDATEHDR
  100.  
  101.         SetTitle "Installation des KHK-Updates"
  102.     ELSE
  103.         szStr$=STRING$(80,32)
  104.         bOk%=GetInstallFlags(OPT_TITLE,VTYPE_STR,szStr$)
  105.         SetTitle szStr$
  106.         SetBitmap RESDLL$,LOGOBITMAP+nUpdate%
  107.     END IF
  108.  
  109.     SetAbout "KHK Setup","Version 1.1"
  110.  
  111.     hWnd% = HwndFrame()
  112.     bOk% = ShowWindow(hWnd%,3)
  113.  
  114.     '*
  115.     '* Test, ob vorhandener Speicher ausreichend ist *********************
  116.     '*
  117.  
  118.     Memory&=GetFreeSpace(0)
  119.     IF Memory& < MINMEMORY& THEN
  120.         sz$ = UIStartDlg(CUIDLL$,IDD_OUTOFMEMORY,"InfoDlgProc",0,"")
  121.         UIPop 1
  122.         IF nUpdate% = VER_UPDATE THEN
  123.             ERR = IDD_EXITFAILURE_UPDATE
  124.         ELSE
  125.             ERR = IDD_EXITFAILURE
  126.         END IF
  127.         
  128.         GOTO QUIT
  129.     END IF
  130.  
  131.     '*
  132.     '* Verzeichnisse vorbelegen ******************************************
  133.     '*
  134.  
  135.     szWindDir$ = GetWindowsDir
  136.     szTempDir$ = GetWindowsDir
  137.  
  138.     szInfoFile$ = GetSymbolValue("STF_SRCINFPATH")
  139.     IF szInfoFile$ = "" THEN
  140.         szInfoFile$ = GetSymbolValue("STF_CWDDIR") + STDINFFILE
  141.     END IF
  142.     ReadInfFile szInfoFile$
  143.  
  144.     szExecDir$ = STRING$(128,32)
  145.     szDataDir$ = STRING$(128,32)
  146.     szTempDir$ = STRING$(128,32)
  147.  
  148.     KHKIniFile$ = MakePath(szWindDir$,"WIN.INI")
  149.     szCountry$ = GetIniKeyString(KHKIniFile$,"intl","iCountry")
  150.  
  151.     '*
  152.     '* Alte Pfade ermitteln ...
  153.     '* 
  154.  
  155.     bOk%=GetProfileName(-1)
  156.     IF bOk% = FALSE THEN
  157.         bOk%=GetProfileName(nAppType%)
  158.         IF bOk% = FALSE THEN
  159.             bOk%=GetProfileName(APP_PCKWIN)
  160.             IF bOk% = FALSE THEN
  161.                 bOk%=GetProfileName(APP_PROFIBU)
  162.                 IF bOk% = FALSE THEN
  163.                     bOk%=GetProfileName(APP_PROABF)
  164.                     IF bOk% = FALSE THEN
  165.                         '* bOk% = GetDefaultPath(szExecDir$,szDataDir$,szTempDir$)
  166.                         IF nAppType% = APP_PCKWIN THEN
  167.                             szExecDir$="C:\PCKWIN"
  168.                         ELSEIF nAppType% = APP_PROFIBU THEN
  169.                             szExecDir$="C:\PROFIBU"
  170.                         ELSEIF nAppType% = APP_PROABF THEN
  171.                             szExecDir$="C:\PROABF"
  172.                         END IF
  173.                         szDataDir$=szExecDir$+"\DATA"
  174.  
  175.                         bStation%=TRUE
  176.                     END IF
  177.                 END IF
  178.             END IF
  179.         END IF
  180.     END IF
  181.  
  182.     '*
  183.     '* Installationsverzeichnis abfragen *********************************
  184.     '*
  185.  
  186.     IF LEN(szExecDir$)=0 THEN
  187.         bStation%=TRUE
  188.  
  189.         IF nAppType% = APP_PCKWIN THEN
  190.             szExecDir$="C:\PCKWIN"
  191.         ELSEIF nAppType% = APP_PROFIBU THEN
  192.             szExecDir$="C:\PROFIBU"
  193.         ELSEIF nAppType% = APP_PROABF THEN
  194.             szExecDir$="C:\PROABF"
  195.         END IF
  196.         szDataDir$=szExecDir$+"\DATA"
  197.     END IF
  198.  
  199.     IF nAppType% = APP_NONE THEN
  200.         bAddOn%=TRUE
  201.  
  202.         nAppType%=GetAppType(szExecDir$,VARPTR(nVersion%))
  203.         IF nAppType%=APP_NONE THEN
  204.             i% = DoMsgBox("Es wurde keine KHK-Anwendung gefunden!",szMsg$,OKMSG)
  205.             GOTO QUITALL
  206.         END IF
  207.     END IF
  208.  
  209.     szOldExecDir$=szExecDir$
  210.     szOldDataDir$=szDataDir$
  211.  
  212. GETPATH:
  213.     SetSymbolValue "ExecDirInp",szExecDir$
  214.     SetSymbolValue "DataDirInp",szDataDir$
  215.     SetSymbolValue "CountryInp",szCountry$
  216.     
  217.     SetSymbolValue "EditFocus","END"
  218.  
  219. GETPATHL1:
  220.     IF nUser% <> 1 THEN
  221.         nDlg%=IDD_GETPATH_UPDATE
  222.     ELSE
  223.         nDlg%=IDD_GETPATH
  224.     END IF
  225.     sz$ = UIStartDlg(CUIDLL$,nDlg%,"PathDlgProc",0,"")
  226.     szExecDir$ = GetSymbolValue("ExecDirOut")
  227.     szExecDir$ = UCASE$(szExecDir$)
  228.  
  229.     szDataDir$ = GetSymbolValue("DataDirOut")
  230.     szDataDir$ = UCASE$(szDataDir$)
  231.  
  232.     szCountry$ = GetSymbolValue("CountryOut")
  233.     SetSymbolValue "CountryInp",szCountry$
  234.  
  235.     IF bStation% = TRUE THEN
  236.         szOldExecDir$=szExecDir$
  237.         szOldDataDir$=szDataDir$
  238.     END IF
  239.  
  240.     IF sz$ = "CONTINUE" THEN
  241.         bOk% = TestPath(szExecDir$)
  242.         IF bOk% = TRUE THEN
  243.             UIPop 1
  244.         ELSE
  245.             GOTO GETPATHL1
  246.         END IF
  247.  
  248.         bOk% = TestPath(szDataDir$)
  249.         IF bOk% = FALSE THEN
  250.             GOTO GETPATHL1
  251.         END IF
  252.  
  253.         IF nUpdate = VER_UPDATE THEN
  254.             nApp%=GetAppType(szOldExecDir$,VARPTR(nVersion%))
  255.             IF nAppType% = APP_PCKWIN AND nApp% <> nAppType% THEN
  256.                 bCrossUpdate%=TRUE
  257.             '* ELSEIF nAppType% <> nApp% THEN
  258.             '*      i%=DoMsgBox("Im Programmverzeichnis wurde kein"+CHR$(13)+"KHK Programm zum updaten gefunden!",szMsg$,OKMSG)
  259.             '*      GOTO GETPATHL1
  260.             END IF
  261.         END IF
  262.     ELSE
  263.         GOSUB ASKQUIT
  264.         GOTO GETPATH
  265.     END IF
  266.  
  267.     '*
  268.     '* Installationsart abfragen *****************************************
  269.     '*
  270.  
  271. INSTALLTYPE:
  272.     UseOption$ = "UseOption"
  273.  
  274.     IF nUpdate% = VER_UPDATE OR bAddOn% = TRUE THEN
  275.         sz$ = "STANDARD"
  276.     ELSE
  277.         sz$ = UIStartDlg(CUIDLL$,IDD_INSTALLTYPE,"InstallDlgProc",0,"")
  278.         UIPop 1
  279.     END IF
  280.  
  281.     IF sz$ = "STANDARD" THEN
  282.         IF nUpdate% = VER_UPDATE OR bAddOn% = TRUE THEN
  283.             bOk%=GetAppType(szExecDir$,VARPTR(nVersion%))
  284.             bKonvert%=FALSE
  285.  
  286.             bOk%=GetOptionList(szCountry$,0,TRUE)
  287.             bOk%=GetOptionList(szCountry$,1,FALSE)
  288.  
  289.             IF nVersion% < 103 THEN
  290.                 sz1$ = UIStartDlg(CUIDLL$,IDD_INSTFRF,"KonvertDlgProc",0,"")
  291.                 UIPop 1
  292.                 bOk%=GetOptionList(szCountry$,80,FALSE)
  293.                 bRenForm%=TRUE
  294.             ELSEIF nVersion% >= 103 THEN
  295.                 '*
  296.                 bLoop%=TRUE
  297.                 WHILE bLoop%
  298.                     sz1$ = UIStartDlg(CUIDLL$,IDD_COPYFRF,"KonvertDlgProc",0,"")
  299.                     bLoop%=FALSE
  300.  
  301.                     IF sz1$="NEWFRF" THEN
  302.                         bRenForm%=TRUE
  303.                         bOk%=GetOptionList(szCountry$,80,FALSE)
  304.                     ELSEIF sz1$="OLDFRF" THEN
  305.                         bOk%=GetOptionList(szCountry$,85,FALSE)
  306.                     ELSEIF sz1$="FRTCVT" THEN
  307.                         bOk%=GetOptionList(szCountry$,85,FALSE)
  308.                         bKonvert%=TRUE
  309.                     ELSE
  310.                         bLoop%=TRUE
  311.                     END IF
  312.                 WEND
  313.                 UIPo