home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / narzedzi / futlock3 / setup.ms_ / setup.bin
Text File  |  1996-09-09  |  5KB  |  175 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit FutureLock
  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 INSTALLED     = 200
  13. CONST ASKQUIT       = 300
  14. CONST DESTPATH      = 400
  15. CONST EXITFAILURE   = 500
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL EXEDEST$        ''Default destination directory.
  25. GLOBAL DLLDEST$        ''Default destination directory.
  26. GLOBAL WINDEST$        ''Default destination directory.
  27. GLOBAL OPTCUR$      ''Option selection from option dialog.
  28.  
  29. DECLARE SUB Install
  30. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  31.  
  32.  
  33. INIT:
  34.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  35.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  36.  
  37.     SetBitmap CUIDLL$, LOGO
  38.     SetTitle "FutureLock V2.0 Setup"
  39.  
  40.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  41.     IF szInf$ = "" THEN
  42.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  43.     END IF
  44.     ReadInfFile szInf$
  45.  
  46.     OPTCUR$ = "1"
  47.     EXEDEST$ = GetWindowsDir() + "FUTURE\LOCK"
  48.     DLLDEST$ = GetWindowsSysDir()
  49.     WINDEST$ = GetWindowsDir()
  50.  
  51. WELCOME:
  52.     SetSymbolValue "EditTextIn", EXEDEST$
  53.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  54.     EXEDEST$ = GetSymbolValue("EditTextOut")
  55.     IF sz$ = "CONTINUE" THEN
  56.         UIPop 1
  57.     ELSE
  58.         GOSUB ASKQUIT
  59.         GOTO WELCOME
  60.     END IF
  61.  
  62.     drive$ = MID$(EXEDEST$, 1, 1)
  63.     free& = GetFreeSpaceForDrive(drive$)
  64.  
  65.      IF free& > 500000 THEN
  66.         
  67.        Install
  68.  
  69.      ELSE 
  70.  
  71.          i% = DoMsgBox("Insufficient disk space for installation, 500k required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  72.       GOTO QUITL1
  73.  
  74.      ENDIF
  75. QUIT:
  76.     ON ERROR GOTO ERRQUIT
  77.  
  78.     IF ERR = 0 THEN
  79.         dlg% = EXITSUCCESS
  80.     ELSEIF ERR = STFQUIT THEN
  81.         dlg% = EXITQUIT
  82.     ELSE
  83.         dlg% = EXITFAILURE
  84.     END IF
  85. QUITL1:
  86.  
  87.     END
  88.  
  89. ERRQUIT:
  90.     i% = DoMsgBox("Setup sources were corrupted, call Technical Support on 091-4910500!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  91.     END
  92.  
  93.  
  94.  
  95. ASKQUIT:
  96.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, "")
  97.  
  98.     IF sz$ = "EXIT" THEN
  99.         UIPopAll
  100.         ERROR STFQUIT
  101.     ELSEIF sz$ = "REACTIVATE" THEN
  102.         GOTO ASKQUIT
  103.     ELSE
  104.         UIPop 1
  105.     END IF
  106.     RETURN
  107.  
  108.  
  109.  
  110. '**
  111. '** Purpose:
  112. '**     Builds the copy list and performs all installation operations.
  113. '** Arguments:
  114. '**     none.
  115. '** Returns:
  116. '**     none.
  117. '*************************************************************************
  118. SUB Install STATIC
  119.  
  120.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  121.     CreateDir EXEDEST$, cmoNone
  122.  
  123.     CopyFile SrcDir$ + "REGISTER.WRI", EXEDEST$ + "\REGISTER.WRI", 0, 0
  124.     CopyFile SrcDir$ + "LICENSE.TXT", EXEDEST$ + "\LICENSE.TXT", 0, 0
  125.     CopyFile SrcDir$ + "VENDOR.TXT", EXEDEST$ + "\VENDOR.TXT", 0, 0
  126.     CopyFile SrcDir$ + "README.WRI", EXEDEST$ + "\README.WRI", 0, 0
  127.     AddSectionFilesToCopyList "FutureLockEXE", SrcDir$, EXEDEST$
  128.     AddSectionFilesToCopyList "FutureLockDLL", SrcDir$, DLLDEST$
  129.     AddSectionFilesToCopyList "FutureLockWIN", SrcDir$, WINDEST$
  130.     CopyFilesInCopyList
  131.  
  132.     iniFut$ = MakePath(GetWindowsDir(), "FUTURE.INI")
  133.     ini$ = MakePath(GetWindowsDir(), "FUTLOCK.INI")
  134.     iniSys$ = MakePath(GetWindowsDir(), "SYSTEM.INI")
  135.  
  136.     CreateProgmanGroup "Future", "", cmoNone
  137.     ShowProgmanGroup  "Future", 1, cmoNone
  138.     CreateProgmanItem "Future", "Readme", EXEDEST$ + "\readme.wri", "", cmoOverwrite
  139.     CreateProgmanItem "Future", "FutureLock Registration Form", EXEDEST$ + "\register.wri", "", cmoOverwrite
  140.     CreateProgmanItem "Future", "FutureLock", EXEDEST$ + "\futlock.exe", "", cmoOverwrite
  141.     CreateProgmanItem "Future", "FutureLock Uninstall", DLLDEST$ + "uninstal.exe", "", cmoOverwrite
  142.     CreateIniKeyValue ini$, "FutureLock", "path", EXEDEST$,  cmoOverwrite
  143.     CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockSetup",     EXEDEST$ + "\FSDLKBUB.HLP",     cmoOverwrite
  144.     CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockShell",     EXEDEST$ + "\FSDLKBUB.HLP",     cmoOverwrite
  145.     CreateIniKeyValue iniFut$, "BubbleHelp", "~FSDFutureLockUninstall",     EXEDEST$ + "\FSDLKBUB.HLP",     cmoOverwrite
  146.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  147.     sz$ = UIStartDlg(CUIDLL$, INSTALLED, "InstalledProc", APPHELP, INSTALLEDPROC$)
  148.  
  149. END SUB
  150.  
  151.  
  152.  
  153. '**
  154. '** Purpose:
  155. '**     Appends a file name to the end of a directory path,
  156. '**     inserting a backslash character as needed.
  157. '** Arguments:
  158. '**     szDir$  - full directory path (with optional ending "\")
  159. '**     szFile$ - filename to append to directory
  160. '** Returns:
  161. '**     Resulting fully qualified path name.
  162. '*************************************************************************
  163. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  164.     IF szDir$ = "" THEN
  165.         MakePath = szFile$
  166.     ELSEIF szFile$ = "" THEN
  167.         MakePath = szDir$
  168.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  169.         MakePath = szDir$ + szFile$
  170.     ELSE
  171.         MakePath = szDir$ + "\" + szFile$
  172.     END IF
  173. END FUNCTION
  174.  
  175.