home *** CD-ROM | disk | FTP | other *** search
/ In'side Shareware 1996 February / ish0296.iso / dtpbild / gamma / disk1 / setup.mst < prev    next >
Text File  |  1995-11-08  |  9KB  |  289 lines

  1. '╔════════════════════════════════════════════════════════════════════════════╗
  2. '║                                                                            ║
  3. '║     ----------------------     GAMMA for Windows DEMO     ------------     ║
  4. '║                                                                            ║
  5. '║     SETUP-DATEI DemSetup.MST                                               ║
  6. '║                                                                            ║
  7. '║     Autor  :   H. Mikschl                                                  ║
  8. '║     Datum  :   20.07.94                                                    ║
  9. '║                                                                            ║
  10. '╟────────────────────────────────────────────────────────────────────────────╢
  11. '║     Beschreibung :  Script File für MS-Setup f. Windows-Installationen     ║
  12. '║                     Anpassungen an unterschiedl. Projekte siehe unter:     ║
  13. '║                                 ''Strings                                  ║
  14. '║                                                                            ║
  15. '╟────────────────────────────────────────────────────────────────────────────╢
  16. '║     Änderung :   Nr.  Ver.   Datum   Bemerkung                             ║
  17. '║                                                                            ║
  18. '╚════════════════════════════════════════════════════════════════════════════╝
  19.  
  20.  
  21. '$DEFINE DEBUG  ''Define for script development/debugging
  22.  
  23. '$INCLUDE 'setupapi.inc'
  24. '$INCLUDE 'msdetect.inc'
  25.  
  26. ''Dialog ID's
  27. CONST WELCOME       = 110  ''statt 100
  28. CONST ASKQUIT       = 200
  29. CONST DESTPATH      = 300
  30. CONST EXITFAILURE   = 400
  31. CONST PROGTITLE     = 500
  32. CONST EXITQUIT      = 600
  33. CONST EXITSUCCESS   = 700
  34. CONST OPTIONS       = 800
  35. CONST APPHELP       = 900
  36. CONST BADPATH       = 6400
  37.  
  38. ''Bitmap ID
  39. CONST LOGO = 1
  40.  
  41. ''Strings
  42. CONST CPTIT$        = "GAMMA-Demo"                            ''Default Programmtitel
  43. CONST CDEST$        = "C:\GAMMADEM"                           ''Default Zielpfad
  44. CONST CDESTPMD$     = "DEMO.PMD"                              ''Demo-PMD-Verzeichnis
  45. CONST CPROGMANGRP$  = "GAMMA"                                 ''Program manager group name
  46. CONST CITIT$        = "UNICON GAMMA-Demo - Setup"             ''Titelbalken Frame Window von Install
  47.  
  48. ''Variable
  49. GLOBAL DEST$        ''Default destination directory.
  50. GLOBAL DESTPMD$     ''Default PMD destination directory.
  51. GLOBAL OPTCUR$      ''Option selection from option dialog.
  52. GLOBAL PTIT$        ''Program title
  53.  
  54. DECLARE SUB Install
  55. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  56.  
  57.  
  58. INIT:
  59.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  60.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  61.  
  62.     SetBitmap CUIDLL$, LOGO
  63.     SetTitle CITIT$
  64.  
  65.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  66.     IF szInf$ = "" THEN
  67.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  68.     END IF
  69.     ReadInfFile szInf$
  70.  
  71.     OPTCUR$ = "1"
  72.     DEST$ = CDEST$
  73.     PTIT$ = CPTIT$
  74.  
  75. '$IFDEF DEBUG
  76.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  77.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  78.     IF IsDriveValid(WinDrive$) = 0 THEN
  79.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  80.         GOTO QUIT
  81.     END IF
  82. '$ENDIF ''DEBUG
  83.  
  84.  
  85. WELCOME:
  86.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  87.     IF sz$ = "CONTINUE" THEN
  88.         UIPop 1
  89.     ELSE
  90.         GOSUB ASKQUIT
  91.         GOTO WELCOME
  92.     END IF
  93.  
  94.  
  95. OPTION:
  96.     GOTO GETPATH
  97.     SetSymbolValue "RadioDefault", OPTCUR$
  98. OPTL1:
  99.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  100.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  101.  
  102.     IF sz$ = "CONTINUE" THEN
  103.         UIPop(1)
  104.     ELSEIF sz$ = "REACTIVATE" THEN
  105.         GOTO OPTL1
  106.     ELSE
  107.         GOSUB ASKQUIT
  108.         GOTO OPTION
  109.     END IF
  110.  
  111.  
  112. GETPATH:
  113.     SetSymbolValue "EditTextIn", DEST$
  114.     SetSymbolValue "EditFocus", "END"
  115. GETPATHL1:
  116.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  117.     DEST$ = GetSymbolValue("EditTextOut")
  118.  
  119.     IF sz$ = "CONTINUE" THEN
  120.         IF IsDirWritable(DEST$) = 0 THEN
  121.             GOSUB BADPATH
  122.             GOTO GETPATHL1
  123.         END IF
  124.         UIPop 1
  125.     ELSEIF sz$ = "REACTIVATE" THEN
  126.         GOTO GETPATHL1
  127.     ELSEIF sz$ = "BACK" THEN
  128.         UIPop 1
  129.         GOTO WELCOME
  130.         GOTO OPTION
  131.     ELSE
  132.         GOSUB ASKQUIT
  133.         GOTO GETPATH
  134.     END IF
  135.  
  136.  
  137. PROGTITLE:
  138.     SetSymbolValue "EditTextIn", PTIT$
  139.     SetSymbolValue "EditFocus", "END"
  140. PROGTITLEL1:
  141.     sz$ = UIStartDlg(CUIDLL$, PROGTITLE, "FEditDlgProc", APPHELP, HELPPROC$)
  142.     PTIT$ = GetSymbolValue("EditTextOut")
  143.  
  144.     IF sz$ = "CONTINUE" THEN
  145.         UIPop 1
  146.     ELSEIF sz$ = "REACTIVATE" THEN
  147.         GOTO PROGTITLEL1
  148.     ELSEIF sz$ = "BACK" THEN
  149.         UIPop 1
  150.         GOTO GETPATH
  151.     ELSE
  152.         GOSUB ASKQUIT
  153.         GOTO PROGTITLE
  154.     END IF
  155.  
  156.  
  157. '------------
  158.     Install
  159. '------------
  160.  
  161.  
  162. QUIT:
  163.     ON ERROR GOTO ERRQUIT
  164.  
  165.     IF ERR = 0 THEN
  166.         dlg% = EXITSUCCESS
  167.     ELSEIF ERR = STFQUIT THEN
  168.         dlg% = EXITQUIT
  169.     ELSE
  170.         dlg% = EXITFAILURE
  171.     END IF
  172. QUITL1:
  173.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  174.     IF sz$ = "REACTIVATE" THEN
  175.         GOTO QUITL1
  176.     END IF
  177.     UIPop 1
  178.  
  179.     END
  180.  
  181.  
  182.  
  183.  
  184. ERRQUIT:
  185.     i% = DoMsgBox("Setup-Quelle fehlerhaft, rufen Sie 07532-5672 an!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  186.     END
  187.  
  188.  
  189.  
  190.  
  191.  
  192. BADPATH:
  193.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  194.     IF sz$ = "REACTIVATE" THEN
  195.         GOTO BADPATH
  196.     END IF
  197.     UIPop 1
  198.     RETURN
  199.  
  200.  
  201.  
  202. ASKQUIT:
  203.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  204.  
  205.     IF sz$ = "EXIT" THEN
  206.         UIPopAll
  207.         ERROR STFQUIT
  208.     ELSEIF sz$ = "REACTIVATE" THEN
  209.         GOTO ASKQUIT
  210.     ELSE
  211.         UIPop 1
  212.     END IF
  213.     RETURN
  214.  
  215.  
  216.  
  217. '**
  218. '** Purpose:
  219. '**     Builds the copy list and performs all installation operations.
  220. '** Arguments:
  221. '**     none.
  222. '** Returns:
  223. '**     none.
  224. '*************************************************************************
  225. SUB Install STATIC
  226.  
  227.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  228.     CreateDir DEST$, cmoNone
  229.     DESTPMD$ = MakePath (DEST$, CDESTPMD$)
  230.     CreateDir DESTPMD$, cmoNone    '' Verzeichnis für DEMO.PMD
  231.  
  232. '    OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  233. '    WriteToLogFile ""
  234. '    WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  235. '    WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  236. '    WriteToLogFile ""
  237. '    WriteToLogFile "May have had to create the directory: " + DEST$
  238. '    WriteToLogFile ""
  239.  
  240.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  241.     AddSectionFilesToCopyList "PMD", SrcDir$, DESTPMD$
  242. '    AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  243. '    dumpCopylist MakePath (DEST$, "LogFile.Out")
  244.     CopyFilesInCopyList
  245.  
  246. '    ini$ = MakePath(DEST$, "DEMO.INI")
  247. '    CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
  248. '    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  249. '    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  250. '    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  251.  
  252.     CreateProgmanGroup CPROGMANGRP$, "", cmoNone
  253.     ShowProgmanGroup  CPROGMANGRP$, 1, cmoNone
  254.     CreateProgmanItem CPROGMANGRP$, PTIT$, MakePath(DEST$,"GW.EXE"), ",,,,"+DEST$, cmoOverwrite
  255. '    CreateProgmanItem CPROGMANGRP$, PTIT$, "GO.PIF l/a", MakePath(DEST$,"unicon.ico")+",,,,"+DEST$, cmoOverwrite
  256. '    CreateProgmanItem "TOPSIM", "Merchant2-SPL", "GO.BAT l/a", , , , , DEST$, cmoOverwrite
  257.  
  258. '    AddDos5Help "YOURAPP",
  259. '    "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  260.  
  261. '    CloseLogFile
  262.  
  263. END SUB
  264.  
  265.  
  266.  
  267. '**
  268. '** Purpose:
  269. '**     Appends a file name to the end of a directory path,
  270. '**     inserting a backslash character as needed.
  271. '** Arguments:
  272. '**     szDir$  - full directory path (with optional ending "\")
  273. '**     szFile$ - filename to append to directory
  274. '** Returns:
  275. '**     Resulting fully qualified path name.
  276. '*************************************************************************
  277. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  278.     IF szDir$ = "" THEN
  279.         MakePath = szFile$
  280.     ELSEIF szFile$ = "" THEN
  281.         MakePath = szDir$
  282.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  283.         MakePath = szDir$ + szFile$
  284.     ELSE
  285.         MakePath = szDir$ + "\" + szFile$
  286.     END IF
  287. END FUNCTION
  288.  
  289.