home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / tool / database / cktbl / setup.mst < prev    next >
Text File  |  1994-06-27  |  6KB  |  228 lines

  1. '**************************************************************************
  2. '* CKTBL - Installation
  3. '* CK Software Entwicklung, Schwarzwaldstr. 31, 71131 Jettingen
  4. '* Tel: +49 7452 78844, FAX: +49 7452 78845
  5. '**************************************************************************
  6.  
  7. '$DEFINE DEBUG  ''Define for script development/debugging
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11.  
  12. ''Dialog ID's
  13. CONST WELCOME       = 100
  14. CONST ASKQUIT       = 200
  15. CONST DESTPATH      = 300
  16. CONST EXITFAILURE   = 400
  17. CONST EXITQUIT      = 600
  18. CONST EXITSUCCESS   = 700
  19. CONST OPTIONS       = 800
  20. CONST APPHELP       = 900
  21. CONST BADPATH       = 6400
  22.  
  23.  
  24. CONST CK_INSTALL    = 6201
  25. CONST INFO1        = 5001
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. GLOBAL DEST$        ''Default destination directory.
  31. GLOBAL OPTCUR$      ''Option selection from option dialog.
  32. GLOBAL GROUPNAME_VBX$
  33. GLOBAL GROUPNAME_DLL$
  34.  
  35. DECLARE SUB Install
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37.  
  38.  
  39. INIT:
  40.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  41.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  42.  
  43.     SetBitmap CUIDLL$, LOGO
  44.     SetTitle "CKTBL Demo - Installation"
  45.  
  46.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  47.     IF szInf$ = "" THEN
  48.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  49.     END IF
  50.     ReadInfFile szInf$
  51.  
  52.     OPTCUR$ = "1"
  53. '*  DEST$ = "C:\CKTBL"
  54.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  55.     DEST$ = WINDRIVE$ + ":\CKDEMO"
  56.  
  57.  
  58. '$IFDEF DEBUG
  59.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  60.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  61.     IF IsDriveValid(WinDrive$) = 0 THEN
  62.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') ist kein gⁿltiges Laufwerk.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  63.         GOTO QUIT
  64.     END IF
  65. '$ENDIF ''DEBUG
  66.  
  67.  
  68. WELCOME:
  69.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  70.     IF sz$ = "CONTINUE" THEN
  71.         UIPop 1
  72.     ELSE
  73.         GOSUB ASKQUIT
  74.         GOTO WELCOME
  75.     END IF
  76.  
  77.  
  78. OPTION:
  79. GETPATH:
  80.     SetSymbolValue "EditTextIn", DEST$
  81.     SetSymbolValue "EditFocus", "END"
  82. GETPATHL1:
  83.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  84.     DEST$ = GetSymbolValue("EditTextOut")
  85.  
  86.     IF sz$ = "CONTINUE" THEN
  87.         IF IsDirWritable(DEST$) = 0 THEN
  88.             GOSUB BADPATH
  89.             GOTO GETPATHL1
  90.         END IF
  91.         UIPop 1
  92.     ELSEIF sz$ = "REACTIVATE" THEN
  93.         GOTO GETPATHL1
  94.     ELSEIF sz$ = "BACK" THEN
  95.         UIPop 1
  96.         GOTO OPTION
  97.     ELSE
  98.         GOSUB ASKQUIT
  99.         GOTO GETPATH
  100.     END IF
  101.  
  102.  
  103.     Install
  104.  
  105.  
  106. QUIT:
  107.     ON ERROR GOTO ERRQUIT
  108.  
  109.     IF ERR = 0 THEN
  110.         dlg% = EXITSUCCESS
  111.     ELSEIF ERR = STFQUIT THEN
  112.         dlg% = EXITQUIT
  113.     ELSE
  114.         dlg% = EXITFAILURE
  115.     END IF
  116. QUITL1:
  117.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  118.     IF sz$ = "REACTIVATE" THEN
  119.         GOTO QUITL1
  120.     END IF
  121.     UIPop 1
  122.  
  123.     END
  124.  
  125. ERRQUIT:
  126.     i% = DoMsgBox("Installationsdateien waren beschΣdigt", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  127.     END
  128.  
  129.  
  130.  
  131. BADPATH:
  132.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  133.     IF sz$ = "REACTIVATE" THEN
  134.         GOTO BADPATH
  135.     END IF
  136.     UIPop 1
  137.     RETURN
  138.  
  139.  
  140.  
  141. ASKQUIT:
  142.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  143.  
  144.     IF sz$ = "EXIT" THEN
  145.         UIPopAll
  146.         ERROR STFQUIT
  147.     ELSEIF sz$ = "REACTIVATE" THEN
  148.         GOTO ASKQUIT
  149.     ELSE
  150.         UIPop 1
  151.     END IF
  152.     RETURN
  153.  
  154.  
  155.  
  156. '**
  157. '** Purpose:
  158. '**     Builds the copy list and performs all installation operations.
  159. '** Arguments:
  160. '**     none.
  161. '** Returns:
  162. '**     none.
  163. '*************************************************************************
  164. SUB Install STATIC
  165.  
  166. '    ClearBillboardList
  167. '    AddToBillboardList "mscuistf.dll", INFO1, "FModelessDlgProc", 100  
  168.  
  169.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  170.     CreateDir DEST$, cmoNone
  171.  
  172.     AddSectionFilesToCopyList "DEMO", SrcDir$, DEST$
  173.     AddSectionFilesToCopyList "SHD", SrcDir$, DEST$
  174.     AddSectionFilesToCopyList "RUNTIME", SrcDir$, DEST$
  175.  
  176.     CopyFilesInCopyList
  177.     
  178.     GROUPNAME_VBX$ =  "CKTBL.VBX Demo"
  179.     GROUPNAME_DLL$ =  "CKTBL.DLL Demo"
  180.  
  181.     CreateProgmanGroup GROUPNAME_VBX$ , "", cmoNone
  182.     ShowProgmanGroup  GROUPNAME_VBX$ , 1, cmoNone
  183.  
  184.     CreateProgmanItem GROUPNAME_VBX$ , "CKTBL.VBX Demo", DEST$+"\DEMO.EXE", "", cmoOverwrite
  185.     CreateProgmanItem GROUPNAME_VBX$ , "SHD CD-ROM Katalog", DEST$+"\SHD.EXE", "", cmoOverwrite
  186.  
  187.     CreateProgmanItem GROUPNAME_VBX$ , "CKTBL.VBX Handbuch", DEST$+"\CKTBL.HLP", "", cmoOverwrite 
  188.     CreateProgmanItem GROUPNAME_VBX$ , "CKTBL.VBX Bedienung", DEST$+"\CKTBLUSR.HLP", "", cmoOverwrite 
  189.  
  190.     CreateProgmanItem GROUPNAME_VBX$ , "Bestellformular", "write "+DEST$+"\BESTELL.WRI", "", cmoOverwrite
  191.     CreateProgmanItem GROUPNAME_VBX$ , "Readme", "write "+DEST$+"\README.WRI", "", cmoOverwrite
  192.  
  193.     CreateProgmanGroup GROUPNAME_DLL$ , "", cmoNone
  194.     ShowProgmanGroup  GROUPNAME_DLL$ , 1, cmoNone
  195.     CreateProgmanItem GROUPNAME_DLL$ , "CKTBL16.DLL Demo", DEST$+"\DEMO16.EXE DATEN.TXT", "", cmoOverwrite
  196.     CreateProgmanItem GROUPNAME_DLL$ , "demo16.c", "notepad "+DEST$+"\demo16.c", "", cmoOverwrite
  197.     CreateProgmanItem GROUPNAME_DLL$ , "cktbl.h", "notepad "+DEST$+"\cktbl.h", "", cmoOverwrite
  198.  
  199.     ShowProgmanGroup  GROUPNAME_VBX$ , 1, cmoNone
  200.  
  201.  
  202. END SUB
  203.  
  204.  
  205.  
  206. '**
  207. '** Purpose:
  208. '**     Appends a file name to the end of a directory path,
  209. '**     inserting a backslash character as needed.
  210. '** Arguments:
  211. '**     szDir$  - full directory path (with optional ending "\")
  212. '**     szFile$ - filename to append to directory
  213. '** Returns:
  214. '**     Resulting fully qualified path name.
  215. '*************************************************************************
  216. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  217.     IF szDir$ = "" THEN
  218.         MakePath = szFile$
  219.     ELSEIF szFile$ = "" THEN
  220.         MakePath = szDir$
  221.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  222.         MakePath = szDir$ + szFile$
  223.     ELSE
  224.         MakePath = szDir$ + "\" + szFile$
  225.     END IF
  226. END FUNCTION
  227.  
  228.