home *** CD-ROM | disk | FTP | other *** search
/ PC Direct 1997 April / 970129_1439.ISO / SPELL / SETUP.MS_ / SETUP.bin
Text File  |  1997-04-09  |  5KB  |  168 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit SpellWrite
  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 OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "SpellWrite Setup"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     OPTCUR$ = "1"
  46.     EXEDEST$ = GetWindowsDir() + "FUTURE\SPELLWRI"
  47.     DLLDEST$ = GetWindowsSysDir()
  48.  
  49. WELCOME:
  50.     SetSymbolValue "EditTextIn", EXEDEST$
  51.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  52.     EXEDEST$ = GetSymbolValue("EditTextOut")
  53.     IF sz$ = "CONTINUE" THEN
  54.         UIPop 1
  55.     ELSE
  56.         GOSUB ASKQUIT
  57.         GOTO WELCOME
  58.     END IF
  59.  
  60.     drive$ = MID$(EXEDEST$, 1, 1)
  61.     free& = GetFreeSpaceForDrive(drive$)
  62.  
  63.      IF free& > 1000000 THEN
  64.         
  65.        Install
  66.  
  67.      ELSE 
  68.  
  69.          i% = DoMsgBox("Insufficient disk space for installation, 1.1MB required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  70.       GOTO QUITL1
  71.  
  72.      ENDIF
  73. QUIT:
  74.     ON ERROR GOTO ERRQUIT
  75.  
  76.     IF ERR = 0 THEN
  77.         dlg% = EXITSUCCESS
  78.     ELSEIF ERR = STFQUIT THEN
  79.         dlg% = EXITQUIT
  80.     ELSE
  81.         dlg% = EXITFAILURE
  82.     END IF
  83. QUITL1:
  84.  
  85.     END
  86.  
  87. ERRQUIT:
  88.     i% = DoMsgBox("Setup sources were corrupted, call Technical Support on 091-4910500!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  89.     END
  90.  
  91.  
  92.  
  93. ASKQUIT:
  94.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, "")
  95.  
  96.     IF sz$ = "EXIT" THEN
  97.         UIPopAll
  98.         ERROR STFQUIT
  99.     ELSEIF sz$ = "REACTIVATE" THEN
  100.         GOTO ASKQUIT
  101.     ELSE
  102.         UIPop 1
  103.     END IF
  104.     RETURN
  105.  
  106.  
  107.  
  108. '**
  109. '** Purpose:
  110. '**     Builds the copy list and performs all installation operations.
  111. '** Arguments:
  112. '**     none.
  113. '** Returns:
  114. '**     none.
  115. '*************************************************************************
  116. SUB Install STATIC
  117.  
  118.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  119.     CreateDir EXEDEST$, cmoNone
  120.  
  121.     AddSectionFilesToCopyList "SpellWriteEXE", SrcDir$, EXEDEST$
  122.     AddSectionFilesToCopyList "SpellWriteDLL", SrcDir$, DLLDEST$
  123.     CopyFilesInCopyList
  124.  
  125.     ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
  126.  
  127.     CreateProgmanGroup "Future", "", cmoNone
  128.     ShowProgmanGroup  "Future", 1, cmoNone
  129.     CreateProgmanItem "Startup", "SpellWrite", EXEDEST$ + "\spellwri.exe", "", cmoOverwrite
  130.     CreateProgmanItem "Future", "SpellWrite", EXEDEST$ + "\spellwri.exe", "", cmoOverwrite
  131.     CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Correct", ",Spelling correct", cmoNone
  132.     CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Mistake", ",Spelling incorrect", cmoNone
  133.      CreateIniKeyValue ini$, "SpellWrite", "path", EXEDEST$,  cmoOverwrite
  134.      CreateIniKeyValue ini$, "SpellWrite", "Custom", EXEDEST$ + "\FSD_CUST.DCT",  cmoOverwrite
  135.      CreateIniKeyValue ini$, "SpellWrite", "OnlyAddToCustomDict", "0",  cmoOverwrite
  136.      CreateIniKeyValue ini$, "SpellWrite", "LoadWrite", "0",  cmoOverwrite
  137.      CreateIniKeyValue ini$, "SpellWrite", "ShowLogo", "0",  cmoOverwrite
  138.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  139.      i% = DoMsgBox("Installation complete.", "SpellWrite Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  140.     sz$ = UIStartDlg(CUIDLL$, INSTALLED, "InstalledProc", APPHELP, INSTALLEDPROC$)
  141.  
  142. END SUB
  143.  
  144.  
  145.  
  146. '**
  147. '** Purpose:
  148. '**     Appends a file name to the end of a directory path,
  149. '**     inserting a backslash character as needed.
  150. '** Arguments:
  151. '**     szDir$  - full directory path (with optional ending "\")
  152. '**     szFile$ - filename to append to directory
  153. '** Returns:
  154. '**     Resulting fully qualified path name.
  155. '*************************************************************************
  156. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  157.     IF szDir$ = "" THEN
  158.         MakePath = szFile$
  159.     ELSEIF szFile$ = "" THEN
  160.         MakePath = szDir$
  161.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  162.         MakePath = szDir$ + szFile$
  163.     ELSE
  164.         MakePath = szDir$ + "\" + szFile$
  165.     END IF
  166. END FUNCTION
  167.  
  168.