home *** CD-ROM | disk | FTP | other *** search
/ The Best of the Best / _.img / 01129 / fibu.ms_ / fibu.bin
Text File  |  1993-09-04  |  7KB  |  253 lines

  1. '$DEFINE DEBUG  ''Define for script development/debugging
  2.  
  3. '$INCLUDE 'setupapi.inc'
  4. '$INCLUDE 'msdetect.inc'
  5.  
  6. ''Dialog ID's
  7. CONST WELCOME       = 100
  8. CONST ASKQUIT       = 200
  9. CONST DESTPATH      = 300
  10. CONST EXITFAILURE   = 400
  11. CONST EXITQUIT      = 600
  12. CONST EXITSUCCESS   = 700
  13. CONST OPTIONS       = 800
  14. CONST APPHELP       = 900
  15. CONST CONFIGFILES   = 1000
  16. CONST WINTRIEV      = 1100
  17. CONST BADPATH       = 6400
  18.  
  19. ''Bitmap ID
  20. CONST LOGO = 1
  21.  
  22. GLOBAL DEST$        ''Default destination directory. 
  23. GLOBAL OldInstallation%
  24.  
  25. DECLARE SUB Install
  26. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  27.  
  28. INIT:
  29.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  30.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  31.  
  32.     SetBitmap CUIDLL$, LOGO
  33.     SetTitle "Fibu fⁿr Windows - Shareware Version 5.1"
  34.  
  35.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  36.     IF szInf$ = "" THEN
  37.         szInf$ = GetSymbolValue("STF_CWDDIR") + "FIBU.INF"
  38.     END IF
  39.     ReadInfFile szInf$
  40.  
  41.     i% = ShowWindow(HwndFrame(), 3)
  42.  
  43.     OPTCUR$ = "1"
  44.     DEST$ = "C:\FIBU"
  45.  
  46. '$IFDEF DEBUG
  47.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  48.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  49.     IF IsDriveValid(WinDrive$) = 0 THEN
  50.         i% = DoMsgBox("Windows Laufwerk ('"+WinDrive$+"') ist nicht gⁿltig.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  51.         GOTO QUIT
  52.     END IF
  53. '$ENDIF ''DEBUG
  54.  
  55.  
  56. WELCOME:
  57.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  58.     IF sz$ = "CONTINUE" THEN
  59.         UIPop 1
  60.     ELSE
  61.         GOSUB ASKQUIT
  62.         GOTO WELCOME
  63.     END IF
  64.  
  65. GETPATH:
  66.     SetSymbolValue "EditTextIn", DEST$
  67.     SetSymbolValue "EditFocus", "END"
  68. GETPATHL1:
  69.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  70.     DEST$ = GetSymbolValue("EditTextOut")
  71.  
  72.     IF sz$ = "CONTINUE" THEN
  73.         IF IsDirWritable(DEST$) = 0 THEN
  74.             GOSUB BADPATH
  75.             GOTO GETPATHL1
  76.         END IF
  77.         UIPop 1
  78.     ELSEIF sz$ = "REACTIVATE" THEN
  79.         GOTO GETPATHL1
  80.     ELSEIF sz$ = "BACK" THEN
  81.         UIPop 1
  82.         GOTO OPTION
  83.     ELSE
  84.         GOSUB ASKQUIT
  85.         GOTO GETPATH
  86.     END IF
  87.  
  88. OPTION:            
  89.     OldInstallation% = 1
  90.  
  91.     IF DoesDirExist(DEST$ + "\SKR03.FFW") = 1 THEN
  92.         sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  93.                  
  94.         szRadio$ = GetSymbolValue("ButtonChecked") 
  95.         
  96.         IF szRadio$ = "1" THEN
  97.             OldInstallation% = 0
  98.         ELSE
  99.             OldInstallation% = 1
  100.         ENDIF   
  101.         
  102.         IF sz$ = "CONTINUE" THEN 
  103.             UIPop 1
  104.             GOTO WEITER
  105.         ELSEIF sz$ = "BACK" THEN
  106.             UIPop 1
  107.             GOTO GETPATH
  108.         ELSE
  109.             GOSUB ASKQUIT
  110.             GOTO OPTION
  111.         ENDIF
  112.     ENDIF
  113.     
  114. WEITER: 
  115.     Install
  116.  
  117.     IF GetConfigNumFiles() < 50 THEN
  118.         sz$ = UIStartDlg(CUIDLL$, CONFIGFILES, "FInfo0DlgProc", 0, "")  
  119.         UIPop 1
  120.     ENDIF
  121.     
  122.     IF DoesFileExist(DEST$+"\WINTRIEV.EXE", femExists) = 0 THEN
  123.         sz$ = UIStartDlg(CUIDLL$, WINTRIEV, "FInfo0DlgProc", 0, "") 
  124.         UIPop 1
  125.     ENDIF
  126.  
  127. QUIT:
  128.     ON ERROR GOTO ERRQUIT
  129.  
  130.     IF ERR = 0 THEN
  131.         dlg% = EXITSUCCESS
  132.     ELSEIF ERR = STFQUIT THEN
  133.         dlg% = EXITQUIT
  134.     ELSE
  135.         dlg% = EXITFAILURE
  136.     END IF
  137. QUITL1:
  138.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  139.     IF sz$ = "REACTIVATE" THEN
  140.         GOTO QUITL1
  141.     END IF
  142.     
  143.     UIPop 1
  144.     END
  145.  
  146. ERRQUIT:
  147.     i% = DoMsgBox("Setup-Dateien sind zerst÷rt! Neue Diskette anfordern.", "Setup Information", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  148.     END
  149.  
  150.  
  151.  
  152. BADPATH:
  153.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  154.     IF sz$ = "REACTIVATE" THEN
  155.         GOTO BADPATH
  156.     END IF
  157.     UIPop 1
  158.     RETURN
  159.  
  160.  
  161.  
  162. ASKQUIT:
  163.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  164.  
  165.     IF sz$ = "EXIT" THEN
  166.         UIPopAll
  167.         ERROR STFQUIT
  168.     ELSEIF sz$ = "REACTIVATE" THEN
  169.         GOTO ASKQUIT
  170.     ELSE
  171.         UIPop 1
  172.     END IF
  173.     RETURN
  174.  
  175.  
  176.  
  177. '**
  178. '** Purpose:
  179. '**     Builds the copy list and performs all installation operations.
  180. '** Arguments:
  181. '**     none.
  182. '** Returns:
  183. '**     none.
  184. '*************************************************************************
  185. SUB Install STATIC
  186.  
  187.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  188.     CreateDir DEST$, cmoNone
  189.  
  190.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  191.     IF OldInstallation% = 1 THEN
  192.         AddSectionFilesToCopyList "SKR03", SrcDir$, DEST$
  193.         AddSectionFilesToCopyList "KΣfer", SrcDir$, DEST$
  194.         AddSectionFilesToCopyList "IKR",   SrcDir$, DEST$
  195.     ELSE
  196.         IF DoesDirExist(DEST$ + "\SKR03.FFW") = 0 THEN
  197.             AddSectionFilesToCopyList "SKR03", SrcDir$, DEST$
  198.         ENDIF
  199.         IF DoesDirExist(DEST$ + "\KAEFER.FFW") = 0 THEN
  200.             AddSectionFilesToCopyList "KΣfer", SrcDir$, DEST$
  201.         ENDIF
  202.         IF DoesDirExist(DEST$ + "\IKR.FFW") = 0 THEN
  203.             AddSectionFilesToCopyList "IKR", SrcDir$, DEST$
  204.         ENDIF
  205.     ENDIF                                 
  206.     
  207.     CopyFilesInCopyList
  208.  
  209.     ini$ = MakePath(DEST$, "COMMDLG.DLL")   
  210.     if GetWindowsMinorVersion >= 10 then 
  211.         RemoveFile ini$, cmoForce
  212.     end if  
  213.  
  214. '    ini$ = MakePath(DEST$, "DEMO.INI")
  215. '    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  216. '    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  217. '    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  218.  
  219.     CreateProgmanGroup "Fibu fⁿr Windows", "", cmoNone
  220.     ShowProgmanGroup  "Fibu fⁿr Windows", 1, cmoNone
  221.  
  222.     CreateProgmanItem "Fibu fⁿr Windows", "Fibu fⁿr Windows", MakePath(DEST$,"fibu.exe"), "", cmoOverwrite
  223.     CreateProgmanItem "Fibu fⁿr Windows", "Readme", "write.exe "+MakePath(DEST$,"readme.wri"), MakePath(DEST$, "fibu.exe")+",4", cmoOverwrite
  224.     CreateProgmanItem "Fibu fⁿr Windows", "Fragen & Antworten", "write.exe "+MakePath(DEST$,"fragen.wri"), MakePath(DEST$, "fibu.exe")+",3", cmoOverwrite
  225.     CreateProgmanItem "Fibu fⁿr Windows", "History", "write.exe "+MakePath(DEST$,"history.wri"), MakePath(DEST$, "fibu.exe")+",7", cmoOverwrite
  226.     CreateProgmanItem "Fibu fⁿr Windows", "Problem", "write.exe "+MakePath(DEST$,"problem.wri"), MakePath(DEST$, "fibu.exe")+",6", cmoOverwrite
  227.     CreateProgmanItem "Fibu fⁿr Windows", "Bestellung", "write.exe "+MakePath(DEST$,"bestell.wri"), MakePath(DEST$, "fibu.exe")+",5", cmoOverwrite
  228. END SUB
  229.  
  230.  
  231.  
  232. '**
  233. '** Purpose:
  234. '**     Appends a file name to the end of a directory path,
  235. '**     inserting a backslash character as needed.
  236. '** Arguments:
  237. '**     szDir$  - full directory path (with optional ending "\")
  238. '**     szFile$ - filename to append to directory
  239. '** Returns:
  240. '**     Resulting fully qualified path name.
  241. '*************************************************************************
  242. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  243.     IF szDir$ = "" THEN
  244.         MakePath = szFile$
  245.     ELSEIF szFile$ = "" THEN
  246.         MakePath = szDir$
  247.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  248.         MakePath = szDir$ + szFile$
  249.     ELSE
  250.         MakePath = szDir$ + "\" + szFile$
  251.     END IF
  252. END FUNCTION
  253.