home *** CD-ROM | disk | FTP | other *** search
/ Bernard Of Hollywood's: Pin-Ups / Bernard_of_Hollywoods_Pin-Ups.iso / pc / german / setup / setup.mst < prev    next >
Text File  |  1996-03-14  |  7KB  |  258 lines

  1. '**************************************************************************
  2. '* MSSetup Toolkit - Corel Bernard of Hollywood's Pin-Ups German Setup    *
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. CONST WS_VISIBLE=&H10000000
  11. CONST WS_BORDER =&H00800000
  12. CONST WS_CLIPCHILDREN =&H02000000
  13. CONST GWL_STYLE =-16
  14. CONST SW_SHOWMAXIMIZED=3
  15.  
  16. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  17. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%,offset%,style&) AS LONG
  18.  
  19. hWnd%=HwndFrame()
  20.  
  21. sti&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  22. stj%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  23.  
  24. ''Dialog ID's
  25. CONST WELCOME      = 100
  26. CONST ASKQUIT      = 200
  27. CONST DESTPATH     = 300
  28. CONST EXITFAILURE  = 400
  29. CONST EXITQUIT     = 600
  30. CONST EXITSUCCESS  = 700
  31. CONST REGISTER     = 800
  32. CONST APPHELP      = 900
  33. CONST CUSTINST     = 6200
  34. CONST TOOBIG       = 6300
  35. CONST BADPATH      = 6400
  36. CONST DESTGRP      = 6600
  37.  
  38. ''Bitmap ID
  39. CONST LOGO         = 1
  40.  
  41.  
  42. GLOBAL DEST$        ''Default destination directory.
  43. GLOBAL WINDRIVE$    ''Windows drive letter.
  44. GLOBAL DESTGROUP$   ''Destination group for icon.
  45. ''CustInst list symbol names
  46. GLOBAL QTWNEEDS$    ''Option list costs per drive
  47.  
  48. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  49. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  50.  
  51. ''Dialog list symbol names
  52. GLOBAL CHECKSTATES$
  53. GLOBAL STATUSTEXT$
  54. GLOBAL DRIVETEXT$
  55. GLOBAL SrcDir$
  56.  
  57. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  58.  
  59. DECLARE SUB RecalcPath
  60. DECLARE SUB SetDriveStatus
  61.  
  62. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  63. DECLARE FUNCTION VflatdPresent LIB "iniupd.dll" AS INTEGER
  64.  
  65. INIT:
  66.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  67.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  68.  
  69.     SetBitmap CUIDLL$, LOGO
  70.     SetTitle "Bernard of Hollywood's Pin-Ups von Corel"
  71.  
  72.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  73.     IF szInf$ = "" THEN
  74.     szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  75.     END IF
  76.     ReadInfFile szInf$
  77.  
  78.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  79.     WINDIR$ = GetWindowsDir()
  80.     DEST$ = ucase$(GetWindowsSysDir)
  81.  
  82.     DRIVETEXT$ = "DriveStatusText"
  83.  
  84.     FOR i% = 1 TO 7 STEP 1
  85.     AddListItem DRIVETEXT$, ""
  86.     NEXT i%
  87.     ReplaceListItem DRIVETEXT$, 7, DEST$
  88.  
  89.     RecalcPath
  90.     SetDriveStatus
  91.  
  92. '$IFDEF DEBUG
  93.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  94. '$ENDIF ''DEBUG
  95.  
  96.  
  97. WELCOME:
  98.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  99.     IF sz$ = "CONTINUE" THEN
  100.     UIPop 1
  101.     ELSE
  102.     GOSUB ASKQUIT
  103.     GOTO WELCOME
  104.     END IF
  105.  
  106. INSTALL:
  107.     ClearCopyList
  108.     AddSectionFilesToCopyList "QTWFiles", GetSymbolValue("STF_SRCDIR"), Dest$
  109.     AddSectionFilesToCopyList "ScreenSaver", GetSymbolValue("STF_SRCDIR"), WinDir$
  110.     AddSectionFilesToCopyList "ScreenSaverSystem", GetSymbolValue("STF_SRCDIR"), Dest$
  111.  
  112.     CopyFilesInCopyList
  113.  
  114.     InstDrive$=MID$(DEST$,1,2)
  115.  
  116.     CreateIniKeyValue "WIN.INI", "Extensions", "mov", MakePath(DEST$,"player.exe") + " ^.mov", cmoOverwrite
  117.     CreateIniKeyValue "WIN.INI", "Extensions", "pic", MakePath(DEST$,"viewer.exe") + " ^.pic", cmoOverwrite
  118.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "mov", "QTWVideo", cmoOverwrite
  119.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "pic", "QTWVideo", cmoOverwrite
  120.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "jpg", "QTWVideo", cmoOverwrite
  121.     CreateIniKeyValue WinDir$ + "SYSTEM.INI", "MCI", "QTWVideo", "mciqtw.drv", cmoOverwrite
  122.  
  123. GETGROUP:
  124.     DESTGROUP$ = "Corel CD Home"
  125.     SetSymbolValue "EditTextIn", DESTGROUP$
  126.     SetSymbolValue "EditFocus", "END"
  127.  
  128. GETGROUPL1:
  129.     sz$ = UIStartDlg(CUIDLL$, DESTGRP, "FEditDlgProc", 0, "")
  130.     DESTGROUP$ = GetSymbolValue("EditTextOut")
  131.  
  132.     IF sz$ = "CONTINUE" THEN
  133.  
  134. '' Mike...This is a really stupid test to ensure the user has entered something
  135.     IF DESTGROUP = "" OR DESTGROUP = " " OR DESTGROUP = "  " OR DESTGROUP = "   " THEN
  136.         GOTO GETGROUPL1
  137.     END IF
  138.     UIPop 1
  139.     ELSEIF sz$ = "REACTIVATE" THEN
  140.     GOTO GETGROUPL1
  141.     ELSE
  142.     GOSUB ASKQUIT
  143.     GOTO GETGROUP
  144.     END IF
  145.  
  146.  
  147.     CreateProgmanGroup DESTGROUP$, "", cmoNone
  148.     ShowProgmanGroup DESTGROUP$, 1, cmoNone
  149.     CreateProgmanItem DESTGROUP$, "Bernard of Hollywood's Pin-Ups Deutsch", GetSymbolValue("STF_SRCDIR") + "pinups.exe","", cmoOverwrite 
  150.     CreateProgmanItem DESTGROUP$, "Bernard of Hollywood's Pin-Ups Deutsch Liesmich", GetSymbolValue("STF_SRCDIR") + "readme.txt","", cmoOverwrite 
  151.     CreateIniKeyValue WinDir$ + "cdhome.ini", "Bernard of Hollywood's Pin-Ups", "Dir", GetSymbolValue("STF_SRCDIR") , cmoOverwrite
  152.  
  153. NOTIFY:
  154.     sz$ = UIStartDlg(CUIDLL$, REGISTER, "FInfo0DlgProc", 0, "")
  155.     UIPop 1
  156.  
  157. QUIT:
  158.     ON ERROR GOTO ERRQUIT
  159.  
  160.     IF ERR = 0 THEN
  161.     dlg% = EXITSUCCESS
  162.     ELSEIF ERR = STFQUIT THEN
  163.     dlg% = EXITQUIT
  164.     ELSE
  165.     dlg% = EXITFAILURE
  166.     END IF
  167. QUITL1:
  168.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  169.     IF sz$ = "REACTIVATE" THEN
  170.     GOTO QUITL1
  171.     END IF
  172.     UIPop 1
  173.     END
  174.  
  175. ERRQUIT:
  176.     i% = DoMsgBox("Setup-Quellen sind beschΣdigt, wenden Sie sich an die Technische Unterstⁿtzung von Corel", "Setup-Meldung", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  177.     END
  178.  
  179. TOOBIG:
  180.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  181.     IF sz$ = "REACTIVATE" THEN
  182.     RecalcPath
  183.     SetDriveStatus
  184.     GOTO TOOBIG
  185.     END IF
  186.     UIPop 1
  187.     RETURN
  188.  
  189. ASKQUIT:
  190.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  191.  
  192.     IF sz$ = "EXIT" THEN
  193.     UIPopAll
  194.     ERROR STFQUIT
  195.     ELSEIF sz$ = "REACTIVATE" THEN
  196.     GOTO ASKQUIT
  197.     ELSE
  198.     UIPop 1
  199.     END IF
  200.     RETURN
  201.  
  202. '**
  203. '** Purpose:
  204. '**     Recalculates disk space and sets option status info according
  205. '**     to the current destination path.
  206. '** Arguments:
  207. '**     none.
  208. '** Returns:
  209. '**     none.
  210. '*************************************************************************
  211. SUB RecalcPath STATIC
  212.  
  213.     CursorSave% = ShowWaitCursor()
  214.     RestoreCursor CursorSave%
  215.  
  216. END SUB
  217.  
  218.  
  219. '**
  220. '** Purpose:
  221. '**     Sets drive status info according to latest disk space calcs.
  222. '** Arguments:
  223. '**     none.
  224. '** Returns:
  225. '**     none.
  226. '*************************************************************************
  227. SUB SetDriveStatus STATIC
  228.  
  229.     drive$ = MID$(DEST$, 1, 1)
  230.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  231.     free& = GetFreeSpaceForDrive(drive$)
  232.                 
  233. END SUB
  234.  
  235.  
  236. '**
  237. '** Purpose:
  238. '**     Appends a file name to the end of a directory path,
  239. '**     inserting a backslash character as needed.
  240. '** Arguments:
  241. '**     szDir$  - full directory path (with optional ending "\")
  242. '**     szFile$ - filename to append to directory
  243. '** Returns:
  244. '**     Resulting fully qualified path name.
  245. '*************************************************************************
  246. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  247.     IF szDir$ = "" THEN
  248.     MakePath = szFile$
  249.     ELSEIF szFile$ = "" THEN
  250.     MakePath = szDir$
  251.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  252.     MakePath = szDir$ + szFile$
  253.     ELSE
  254.     MakePath = szDir$ + "\" + szFile$
  255.     END IF
  256. END FUNCTION
  257.  
  258.