home *** CD-ROM | disk | FTP | other *** search
/ Legendary Clips / LegendaryClipsNo1-Windows31.bin / setup / title.bak < prev    next >
Text File  |  1995-02-11  |  8KB  |  308 lines

  1.     '' Include files
  2.     '$INCLUDE 'setupapi.inc'
  3.     '$INCLUDE 'mscpydis.inc'    ''System
  4.     '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  5.     
  6.     
  7.  
  8.  
  9.     '' Global variables
  10.  
  11.     GLOBAL TitleShortName$
  12.     GLOBAL TitleLongName$
  13.     GLOBAL MVBFileName$
  14.     GLOBAL PromptForPath%
  15.     GLOBAL DefaultPath$
  16.     GLOBAL ProgManGroup$
  17.     GLOBAL ProgManItem$
  18.     GLOBAL ReStartD$
  19.     GLOBAL WinDir$
  20.     GLOBAL WinSysDir$
  21.     GLOBAL WINDRIVE$    ''Windows Drive Letter.
  22.     GLOBAL CHECKSTATES$
  23.     GLOBAL szIni$
  24.         GLOBAL szGork$
  25.     GLOBAL SizeReq&  '' Total Disk Size required for installation
  26.  
  27.     TitleShortName$ = "lclips"
  28.     
  29.     TitleLongName$ = "Legend Clips"
  30.     MVBFileName$ = "lclips"
  31.         
  32.     PromptForPath% = 0
  33.         
  34.     DefaultPath$ = "c:\Legend"
  35.     
  36.     ProgManGroup$ = "Legend"
  37.     ProgManItem$ = "lclips"
  38.     
  39.  
  40.     '***********************************************************************
  41.     '** Mainline
  42.     '***********************************************************************
  43.  
  44.     GLOBAL CUIDLL$
  45.  
  46.     '' Dialog ID's
  47.     CONST WELCOME       = 100
  48.     CONST ASKQUIT       = 200
  49.     CONST EXITFAILURE   = 400
  50.     CONST EXITQUIT      = 600
  51.     CONST EXITSUCCESS   = 700
  52.     CONST APPHELP       = 900
  53.     CONST CHECK         = 2500
  54.     CONST SMALLWIN      = 2200
  55.     CONST RESTART       = 2600
  56.     CONST RESTARTII     = 2700
  57.     
  58.     '' Bitmap ID
  59.     CONST LOGO = 1
  60.     
  61.     '' Functions and subroutines
  62.     DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  63.     DECLARE FUNCTION GetTitleDir (szDefault$) AS STRING
  64.     DECLARE SUB ModifyProgramManager
  65.     DECLARE SUB Install
  66.     DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  67.     DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  68.     DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  69.     
  70. INIT:    
  71.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  72.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  73.  
  74.     SetTitle "Legend Video Clips"
  75.     SetBitmap CUIDLL$, LOGO
  76.      
  77.     WIN32ENABLED% = 0
  78.     MajorVer% = GetWindowsMajorVersion()
  79.     MinorVer% = GetWindowsMinorVersion()
  80.  
  81.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  82.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  83.     END
  84.     END IF
  85.  
  86.     IF OnWindowsNT() THEN
  87.       i% = DoMsgBox("This version of Video for Windows does not run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  88.       END
  89.     END IF
  90.     
  91.     '' Read in the INF file.
  92.  
  93.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)    
  94.  
  95.  
  96.     ReadInfFile GetSymbolValue("STF_CWDDIR") + "TITLE.INF"
  97.  
  98. WELCOME:
  99.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  100.     IF sz$ = "CONTINUE" THEN
  101.        UIPop 1
  102.      ELSE
  103.     GOSUB ASKQUIT
  104.     GOTO WELCOME
  105.     END IF
  106.  
  107.     ClearCopyList
  108.     
  109.     szTitleDir$ = GetWindowsDir()
  110.  
  111.     WinDir$ = GetWindowsDir()
  112.         SrcDir$ = GetSymbolValue("STF_SRCDIR") + "SETUP\" 
  113.         DEST$ = GetWindowsDir()
  114.         WinSysDir$ = GetWindowsSysDir()
  115.     szGork$ = GetSymbolValue("STF_SRCDIR")
  116.  
  117.     AddSectionFilesToCopyList "System Files", SrcDir$, WinSysDir$
  118.     
  119.     
  120.  
  121.  
  122. ''  Check windrive diskspace
  123.     SizeReq& = GetCopyListCost ("","", "")
  124.     IF SizeReq& <> 0 THEN
  125.     GOSUB SMALLWIN
  126.     END
  127.     END IF
  128.  
  129.     Install
  130.     
  131.  
  132. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  133. '' else, it gives the user the choice
  134.     RESTRT% = RestartListEmpty ()
  135.     Exe$ = DEST$ + "\_msrstrt.exe"
  136.     Batch$ = DEST$ + "\_mssetup.bat"
  137.     empty$ = ""
  138. RESTART:
  139.     IF RESTRT% = 0 THEN
  140.        sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  141.        IF sz$ = "REACTIVATE" THEN
  142.       GOTO RESTART
  143.        ENDIF
  144.        I% = ExitExecRestart ()
  145.        RemoveFile Exe$, cmoForce
  146.        RemoveFile Batch$, cmoForce
  147.        END
  148.     ELSE
  149.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  150.        IF sz$ = "CONTINUE" THEN
  151.       I% = ExitWindowsExec (Exe$, empty$)
  152.       IF I% = 0 THEN
  153.          GOTO RESTART
  154.       ELSE
  155.          END
  156.      ENDIF
  157.        ELSEIF sz$ = "EXIT" THEN
  158.       UIPopAll
  159.       END
  160.        ELSEIF sz$ = "REACTIVATE" THEN
  161.       GOTO RESTART
  162.        ELSE
  163.       UIPop 1
  164.        END IF
  165.     END IF
  166.  
  167. QUIT:
  168.     ON ERROR GOTO ERRQUIT
  169.  
  170.     IF ERR = 0 THEN
  171.     dlg% = EXITSUCCESS
  172.     ELSEIF ERR = STFQUIT THEN
  173.     dlg% = EXITQUIT
  174.     ELSE
  175.     dlg% = EXITFAILURE
  176.     END IF
  177.  
  178. QUITL1:
  179.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  180.     IF sz$ = "REACTIVATE" THEN
  181.     GOTO QUITL1
  182.     END IF
  183.     UIPop 1
  184.     END
  185.  
  186. ERRQUIT:
  187.     i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  188.     END
  189.  
  190.  
  191. ASKQUIT:
  192.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  193.  
  194.     IF sz$ = "EXIT" THEN
  195.     UIPopAll
  196. ''        ERROR STFQUIT
  197.     END
  198.     ELSEIF sz$ = "REACTIVATE" THEN
  199.     GOTO ASKQUIT
  200.     ELSE
  201.     UIPop 1
  202.     END IF
  203.     RETURN
  204.  
  205. SMALLWIN:
  206.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  207.     IF sz$ = "REACTIVATE" THEN
  208.     GOTO SMALLWIN
  209.     END IF
  210.     UIPop 1
  211.     RETURN
  212.     
  213.  
  214. '*************************************************************************
  215. '** Purpose:
  216. '**     Prompts the user for a path for the title files
  217. '** Arguments:
  218. '**     szDefault$ - default path
  219. '** Returns:
  220. '**     New valid path name, or "" if the user quit.
  221. '*************************************************************************
  222.  
  223. FUNCTION GetTitleDir (szDefault$) STATIC AS STRING
  224.  
  225.     SetSymbolValue "String", TitleShortName$
  226.     SetSymbolValue "EditTextIn", szDefault$
  227.     SetSymbolValue "EditFocus", "ALL"
  228.  
  229.     GETPATH:
  230.  
  231.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, "FHelpDlgProc")
  232.  
  233.     IF sz$ = "CONTINUE" THEN
  234.         szTitleDir$ = GetSymbolValue("EditTextOut")
  235.         IF IsDirWritable(szTitleDir$) = 0 THEN
  236.  
  237.             BADPATH:
  238.  
  239.             sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0, "")
  240.             IF sz$ = "REACTIVATE" THEN
  241.                 GOTO BADPATH
  242.             END IF
  243.             UIPop 1
  244.             GOTO GETPATH
  245.         END IF
  246.         UIPop 1
  247.         CreateDir szTitleDir$, cmoNone
  248.  
  249.     ELSEIF sz$ = "REACTIVATE" THEN
  250.         GOTO GETPATH
  251.  
  252.     ELSE
  253.         szTitleDir$ = ""
  254.  
  255.     END IF
  256.  
  257.     GetTitleDir = szTitleDir$
  258.  
  259. END FUNCTION
  260.  
  261. '**
  262. '** Purpose:
  263. '**     Performs all installation operations.
  264. '** Arguments:
  265. '**     none.
  266. '** Returns:
  267. '**     none.
  268. '*************************************************************************
  269. SUB Install STATIC
  270.     
  271.     SetRestartDir WinDir$
  272.     CopyFilesInCopyList
  273.  
  274. ''Updating WIN.INI and SYSTEM.INI
  275.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "mov", "QTWVideo", cmoOverwrite
  276.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "pic", "QTWVideo", cmoOverwrite
  277.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "jpg", "QTWVideo", cmoOverwrite    
  278.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "QTWVideo", "mciqtw.drv", cmoOverwrite
  279.  
  280.     CreateProgmanItem ProgmanGroup$, ProgmanItem$, MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".EXE"), MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".ICO")+",0,0,0,"+szGork$, cmoOverwrite
  281.  
  282. END SUB
  283.              
  284.              
  285. '*************************************************************************
  286. '** Purpose:
  287. '**     Appends a file name to the end of a directory path,
  288. '**     inserting a backslash character as needed.
  289. '** Arguments:
  290. '**     szDir$  - full directory path (with optional ending "\")
  291. '**     szFile$ - filename to append to directory
  292. '** Returns:
  293. '**     Resulting fully qualified path name.
  294. '*************************************************************************
  295.  
  296. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  297.     IF szDir$ = "" THEN
  298.         MakePath = szFile$
  299.     ELSEIF szFile$ = "" THEN
  300.         MakePath = szDir$
  301.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  302.         MakePath = szDir$ + szFile$
  303.     ELSE
  304.         MakePath = szDir$ + "\" + szFile$
  305.     END IF
  306. END FUNCTION
  307.  
  308.