home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktiv 3 / AKTIEF1_1997.iso / qwirx / qwirks.mst < prev    next >
Text File  |  1995-05-04  |  10KB  |  341 lines

  1. '**************************************************************************
  2. '*                       MSSetup Script for Qwirks
  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 DESTPATH2     = 301
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST CHECK         = 2500
  21. CONST BADPATH       = 6400
  22. CONST RESTART       = 1000
  23.  
  24. ''File Types
  25. CONST WING_RUNFILES     = 1
  26. CONST WING_BUILDFILES   = 2
  27.  
  28. ''Bitmap ID
  29. CONST LOGO = 1
  30.  
  31. GLOBAL FILEDIALOG   ''File path dialog ID
  32.  
  33. GLOBAL DEST$        ''Default destination directory.
  34. GLOBAL DESTSYS$     ''System destination directory for WinG.
  35.  
  36. GLOBAL CHECKSTATES$ ''Dialog list symbol names
  37. GLOBAL WINDRIVE$    ''Windows drive letter.
  38.  
  39. GLOBAL TMPDEST$     '' tmpfile destination
  40.  
  41. GLOBAL bInstallDVA%
  42.  
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44. DECLARE FUNCTION GetRealWindowsSysDir AS STRING
  45. DECLARE SUB UpdateWinG32 (szOrig$)
  46.  
  47. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  48. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  49. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  50. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  51. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  52. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  53.  
  54. DECLARE SUB Install
  55.  
  56.  
  57. INIT:
  58.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  59.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  60.  
  61.     SetBitmap CUIDLL$, LOGO
  62.     SetTitle "Qwirks Demo"
  63.  
  64.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  65.     IF szInf$ = "" THEN
  66.         szInf$ = GetSymbolValue("STF_CWDDIR") + "QWIRKS.INF"
  67.     END IF
  68.     ReadInfFile szInf$
  69.  
  70.     OPTCUR$ = "1"
  71.     DEST$ = "C:\QWIRKS"
  72.  
  73. '$IFDEF DEBUG
  74.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  75.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  76.     IF IsDriveValid(WinDrive$) = 0 THEN
  77.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  78.         GOTO QUIT
  79.     END IF
  80. '$ENDIF ''DEBUG
  81.  
  82.  
  83. WELCOME:
  84.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  85.     IF sz$ = "CONTINUE" THEN
  86.         UIPop 1
  87.     ELSE
  88.         GOSUB ASKQUIT
  89.         GOTO WELCOME
  90.     END IF
  91.  
  92.  
  93. OPTION:
  94. '    SetSymbolValue "RadioDefault", OPTCUR$
  95. 'OPTL1:
  96. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  97. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  98. '
  99. '    IF sz$ = "CONTINUE" THEN
  100. '        UIPop(1)
  101. '    ELSEIF sz$ = "REACTIVATE" THEN
  102. '        GOTO OPTL1
  103. '    ELSE
  104. '        GOSUB ASKQUIT
  105. '        GOTO OPTION
  106. '    END IF
  107.  
  108.  
  109. GETPATH:
  110.     SetSymbolValue "EditTextIn", DEST$
  111.     SetSymbolValue "EditFocus", "END"
  112. GETPATHL1:
  113.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  114.     DEST$ = GetSymbolValue("EditTextOut")
  115.  
  116.     IF sz$ = "CONTINUE" THEN
  117.         IF IsDirWritable(DEST$) = 0 THEN
  118.             GOSUB BADPATH
  119.             GOTO GETPATHL1
  120.         END IF
  121.         UIPop 1
  122.     ELSEIF sz$ = "REACTIVATE" THEN
  123.         GOTO GETPATHL1
  124.     ELSEIF sz$ = "BACK" THEN
  125.         UIPop 1
  126.         GOTO OPTION
  127.     ELSE
  128.         GOSUB ASKQUIT
  129.         GOTO GETPATH
  130.     END IF
  131.  
  132.  
  133.     Install
  134.  
  135.  
  136. QUIT:
  137.     ON ERROR GOTO ERRQUIT
  138.  
  139.     IF ERR = 0 THEN
  140.         dlg% = EXITSUCCESS
  141.     ELSEIF ERR = STFQUIT THEN
  142.         dlg% = EXITQUIT
  143.     ELSE
  144.         dlg% = EXITFAILURE
  145.     END IF
  146. QUITL1:
  147.  
  148. '' WinG
  149.  
  150.     if dlg% = EXITSUCCESS AND bInstallDVA% = 1 then
  151.         sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfoDlgProc", APPHELP, HELPPROC$)
  152.         UIPop 1
  153.         IF sz$ = "CONTINUE" THEN
  154.             rc% = RestartWindows
  155.         ENDIF
  156.     endif
  157.  
  158. '' Qwirks
  159.  
  160.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  161.     IF sz$ = "REACTIVATE" THEN
  162.         GOTO QUITL1
  163.     END IF
  164.     UIPop 1
  165.  
  166.     END
  167.  
  168. ERRQUIT:
  169.     i% = DoMsgBox("Setup sources were corrupted, call Bullet-Proof Software at (206)861-9200!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  170.     END
  171.  
  172.  
  173.  
  174. BADPATH:
  175.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  176.     IF sz$ = "REACTIVATE" THEN
  177.         GOTO BADPATH
  178.     END IF
  179.     UIPop 1
  180.     RETURN
  181.  
  182.  
  183.  
  184. ASKQUIT:
  185.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  186.  
  187.     IF sz$ = "EXIT" THEN
  188.         UIPopAll
  189.         ERROR STFQUIT
  190.     ELSEIF sz$ = "REACTIVATE" THEN
  191.         GOTO ASKQUIT
  192.     ELSE
  193.         UIPop 1
  194.     END IF
  195.     RETURN
  196.  
  197.  
  198.  
  199. '**
  200. '** Purpose:
  201. '**     Builds the copy list and performs all installation operations.
  202. '** Arguments:
  203. '**     none.
  204. '** Returns:
  205. '**     none.
  206. '*************************************************************************
  207. SUB Install STATIC
  208.  
  209.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  210.     CreateDir DEST$, cmoNone
  211.  
  212.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  213.     WriteToLogFile ""
  214.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  215.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  216.     WriteToLogFile ""
  217.     WriteToLogFile "May have had to create the directory: " + DEST$
  218.     WriteToLogFile ""
  219.  
  220.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  221. '*    AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  222. '*    SrcDir$ = GetSymbolValue("STF_SRCDIR")
  223.     CopyFilesInCopyList
  224.  
  225.     WINDEST$ = GetWindowsDir
  226.     AddSectionFilesToCopyList "INI", SrcDir$, WINDEST$
  227.     CopyFilesInCopyList
  228.  
  229. '' WinG Install
  230.  
  231.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  232.         DESTSYS$ = GetWindowsSysDir
  233.  
  234.         AddSectionFilesToCopyList "runtime", SrcDir$, DESTSYS$
  235.  
  236.         '
  237.         ' only use DVA on Windows 3.x
  238.         '
  239.         IF OnWin3x() = 1 THEN
  240.             AddSectionFilesToCopyList "dva", SrcDir$, DESTSYS$
  241.             IF VflatdPresent() = 0 THEN
  242.                 CreateSysIniKeyValue GetWindowsDir + "system.ini", "386Enh", "device", GetWindowsSysDir+"dva.386", cmoOverwrite
  243.                 bInstallDVA% = 1
  244.             END IF
  245.         END IF
  246.  
  247. '       DESTSYS$ = GetRealWindowsSysDir
  248. '
  249. '       AddSectionFilesToCopyList "wing32", SrcDir$, DESTSYS$
  250. '       Dest1$ = MakePath(DEST$,"wing32.dll")
  251. '       Dest2$ = MakePath(DEST$,"wing32.xxx")
  252. '       RenameFilePlease Dest1$,Dest2$
  253. '
  254.         CopyFilesInCopyList
  255. '
  256. '       UpdateWinG32 GetRealWindowsSysDir()
  257.  
  258.  
  259. '*    ini$ = MakePath(DEST$, "QWIRKS.INI")
  260. '*    CreateIniKeyValue "WIN.INI", "Qwirks Setup", "Option", OPTCUR$, cmoNone
  261. '*    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  262. '*    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  263. '*    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  264.  
  265.     CreateProgmanGroup "Qwirks", "", cmoNone
  266.     ShowProgmanGroup  "Qwirks", 1, cmoNone
  267.     CreateProgmanItem "Qwirks", "Qwirks", MakePath(DEST$, "qwirks.exe"), "", cmoOverwrite
  268. '*    CreateProgmanItem "Qwirks", "Qwirks help", "winhelp.exe "+MakePath(DEST$,"qwirks.hlp"), "", cmoOverwrite
  269.  
  270.     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  271.  
  272.     CloseLogFile
  273.  
  274. END SUB
  275.  
  276.  
  277.  
  278. '**
  279. '** Purpose:
  280. '**     Appends a file name to the end of a directory path,
  281. '**     inserting a backslash character as needed.
  282. '** Arguments:
  283. '**     szDir$  - full directory path (with optional ending "\")
  284. '**     szFile$ - filename to append to directory
  285. '** Returns:
  286. '**     Resulting fully qualified path name.
  287. '*************************************************************************
  288. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  289.     IF szDir$ = "" THEN
  290.         MakePath = szFile$
  291.     ELSEIF szFile$ = "" THEN
  292.         MakePath = szDir$
  293.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  294.         MakePath = szDir$ + szFile$
  295.