home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Studio Effects / MULTIMEDIA.ISO / powerico / powerico.mst < prev    next >
Text File  |  1994-04-14  |  7KB  |  245 lines

  1. '**************************************************************************
  2. '*                        PowerIcon Setup Script
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. CONST WS_VISIBLE=&H10000000
  28. CONST WS_BORDER =&H00800000
  29. CONST WS_CLIPCHILDREN =&H02000000
  30. CONST GWL_STYLE =-16
  31. CONST SW_SHOWMAXIMIZED=3
  32.  
  33. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  34. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG     ''this declaration must all be on one line
  35. DECLARE SUB Install
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37.  
  38.  
  39. INIT:
  40.  
  41.     hWnd%=HwndFrame()
  42.     i1&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  43.     j1%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  44.  
  45.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  46.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  47.  
  48.     SetBitmap CUIDLL$, LOGO
  49.     SetTitle "PowerIcon Setup"
  50.  
  51.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  52.     IF szInf$ = "" THEN
  53.         szInf$ = GetSymbolValue("STF_CWDDIR") + "POWERICO.INF"
  54.     END IF
  55.     ReadInfFile szInf$
  56.  
  57.     OPTCUR$ = "1"
  58.     DEST$ = "C:\POWERICO"
  59.  
  60. '$IFDEF DEBUG
  61.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  62.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  63.     IF IsDriveValid(WinDrive$) = 0 THEN
  64.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  65.         GOTO QUIT
  66.     END IF
  67. '$ENDIF ''DEBUG
  68.  
  69.  
  70. WELCOME:
  71.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  72.     IF sz$ = "CONTINUE" THEN
  73.         UIPop 1
  74.     ELSE
  75.         GOSUB ASKQUIT
  76.         GOTO WELCOME
  77.     END IF
  78.  
  79.  
  80. 'OPTION:
  81. '    SetSymbolValue "RadioDefault", OPTCUR$
  82. 'OPTL1:
  83. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  84. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  85. '
  86. '    IF sz$ = "CONTINUE" THEN
  87. '        UIPop(1)
  88. '    ELSEIF sz$ = "REACTIVATE" THEN
  89. '        GOTO OPTL1
  90. '    ELSE
  91. '        GOSUB ASKQUIT
  92. '        GOTO OPTION
  93. '    END IF
  94.  
  95.  
  96. GETPATH:
  97.     SetSymbolValue "EditTextIn", DEST$
  98.     SetSymbolValue "EditFocus", "END"
  99. GETPATHL1:
  100.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  101.     DEST$ = GetSymbolValue("EditTextOut")
  102.  
  103.     IF sz$ = "CONTINUE" THEN
  104.         IF IsDirWritable(DEST$) = 0 THEN
  105.             GOSUB BADPATH
  106.             GOTO GETPATHL1
  107.         END IF
  108.         UIPop 1
  109.     ELSEIF sz$ = "REACTIVATE" THEN
  110.         GOTO GETPATHL1
  111.     ELSEIF sz$ = "BACK" THEN
  112.         UIPop 1
  113.         GOTO WELCOME
  114. '        GOTO OPTION
  115.     ELSE
  116.         GOSUB ASKQUIT
  117.         GOTO GETPATH
  118.     END IF
  119.  
  120.  
  121.     Install
  122.  
  123.  
  124. QUIT:
  125.     ON ERROR GOTO ERRQUIT
  126.  
  127.     IF ERR = 0 THEN
  128.         dlg% = EXITSUCCESS
  129.     ELSEIF ERR = STFQUIT THEN
  130.         dlg% = EXITQUIT
  131.     ELSE
  132.         dlg% = EXITFAILURE
  133.     END IF
  134. QUITL1:
  135.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  136.     IF sz$ = "REACTIVATE" THEN
  137.         GOTO QUITL1
  138.     END IF
  139.     UIPop 1
  140.  
  141.     END
  142.  
  143. ERRQUIT:
  144.     i% = DoMsgBox("Setup sources were corrupted, call (812) 234-8800!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  145.     END
  146.  
  147.  
  148.  
  149. BADPATH:
  150.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  151.     IF sz$ = "REACTIVATE" THEN
  152.         GOTO BADPATH
  153.     END IF
  154.     UIPop 1
  155.     RETURN
  156.  
  157.  
  158.  
  159. ASKQUIT:
  160.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  161.  
  162.     IF sz$ = "EXIT" THEN
  163.         UIPopAll
  164.         ERROR STFQUIT
  165.     ELSEIF sz$ = "REACTIVATE" THEN
  166.         GOTO ASKQUIT
  167.     ELSE
  168.         UIPop 1
  169.     END IF
  170.     RETURN
  171.  
  172.  
  173.  
  174. '**
  175. '** Purpose:
  176. '**     Builds the copy list and performs all installation operations.
  177. '** Arguments:
  178. '**     none.
  179. '** Returns:
  180. '**     none.
  181. '*************************************************************************
  182. SUB Install STATIC
  183.  
  184.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  185.     CreateDir DEST$, cmoNone
  186.  
  187.     OpenLogFile MakePath(DEST$, "POWERICO.ILG"), 0
  188.     WriteToLogFile ""
  189.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  190.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  191.     WriteToLogFile ""
  192.     WriteToLogFile "May have had to create the directory: " + DEST$
  193.     WriteToLogFile ""
  194.  
  195.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  196. '    AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  197.     AddSectionFilesToCopyList "Dynalinks", SrcDir$, GetWindowsDir + "SYSTEM\"
  198.     CopyFilesInCopyList
  199.  
  200.     ini$ = MakePath(DEST$, "POWERICO.INI")
  201.  
  202.     CreateIniKeyValue "WIN.INI", "Extensions", "ico", MakePath(DEST$,"powerico.exe")+" ^.ICO", cmoNone
  203.     CreateIniKeyValue "WIN.INI", "Extensions", "icl", MakePath(DEST$,"powerico.exe")+" ^.ICL", cmoNone
  204.     CreateIniKeyValue "WIN.INI", "Extensions", "dll", MakePath(DEST$,"powerico.exe")+" ^.DLL", cmoNone
  205.  
  206. '    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  207. '    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  208. '    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  209.  
  210.     CreateProgmanGroup "LMI System Tools", "", cmoNone
  211.     ShowProgmanGroup  "LMI System Tools", 1, cmoNone
  212.     CreateProgmanItem "LMI System Tools", "PowerIcon v1.0", MakePath(DEST$,"powerico.exe"), "", cmoOverwrite
  213.     CreateProgmanItem "LMI System Tools", "PowerIcon Help", "winhelp.exe " + MakePath(DEST$,"powerico.hlp"), "", cmoOverwrite
  214.  
  215.     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  216.  
  217.     CloseLogFile
  218.  
  219. END SUB
  220.  
  221.  
  222.  
  223. '**
  224. '** Purpose:
  225. '**     Appends a file name to the end of a directory path,
  226. '**     inserting a backslash character as needed.
  227. '** Arguments:
  228. '**     szDir$  - full directory path (with optional ending "\")
  229. '**     szFile$ - filename to append to directory
  230. '** Returns:
  231. '**     Resulting fully qualified path name.
  232. '*************************************************************************
  233. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  234.     IF szDir$ = "" THEN
  235.         MakePath = szFile$
  236.     ELSEIF szFile$ = "" THEN
  237.         MakePath = szDir$
  238.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  239.         MakePath = szDir$ + szFile$
  240.     ELSE
  241.         MakePath = szDir$ + "\" + szFile$
  242.     END IF
  243. END FUNCTION
  244.  
  245.