home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1999 March / Dpcb0399.iso / HOME / spellwrt / SETUP.MS_ / SETUP.bin
Text File  |  1996-09-26  |  6KB  |  176 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 V1.6 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, 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.      CopyFile SrcDir$ + "REGISTER.WRI", EXEDEST$ + "\REGISTER.WRI", 0, 0
  122.      CopyFile SrcDir$ + "LICENSE.TXT", EXEDEST$ + "\LICENSE.TXT", 0, 0
  123.      CopyFile SrcDir$ + "VENDOR.TXT", EXEDEST$ + "\VENDOR.TXT", 0, 0
  124.      CopyFile SrcDir$ + "README.WRI", EXEDEST$ + "\README.WRI", 0, 0
  125.     AddSectionFilesToCopyList "SpellWriteEXE", SrcDir$, EXEDEST$
  126.     AddSectionFilesToCopyList "SpellWriteDLL", SrcDir$, DLLDEST$
  127.     CopyFilesInCopyList
  128.  
  129.     ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
  130.  
  131.     CreateProgmanGroup "Future", "", cmoNone
  132.     ShowProgmanGroup  "Future", 1, cmoNone
  133.     CreateProgmanItem "Startup", "SpellWrite", EXEDEST$ + "\spellwri.exe", "", cmoOverwrite
  134.      CreateProgmanItem "Future", "Readme", EXEDEST$ + "\readme.wri", "", cmoOverwrite
  135.      CreateProgmanItem "Future", "SpellWrite Help", EXEDEST$ + "\spellwri.hlp", "", cmoOverwrite
  136.      CreateProgmanItem "Future", "SpellWrite Registration Form", EXEDEST$ + "\register.wri", "", cmoOverwrite
  137.     CreateProgmanItem "Future", "SpellWrite", EXEDEST$ + "\spellwri.exe", "", cmoOverwrite
  138.     CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Correct", ",Spelling correct", cmoNone
  139.     CreateIniKeyValue "WIN.INI", "sounds", "SpellWrite_Mistake", ",Spelling incorrect", cmoNone
  140.      CreateIniKeyValue ini$, "SpellWrite", "path", EXEDEST$,  cmoOverwrite
  141.      CreateIniKeyValue ini$, "SpellWrite", "Custom", EXEDEST$ + "\FSD_CUST.DCT",  cmoOverwrite
  142.      CreateIniKeyValue ini$, "SpellWrite", "OnlyAddToCustomDict", "0",  cmoOverwrite
  143.      CreateIniKeyValue ini$, "SpellWrite", "LoadWrite", "0",  cmoOverwrite
  144.      CreateIniKeyValue ini$, "BubbleHelp", "MSWRITE_MENU",     EXEDEST$ + "\WRITEBUB.HLP",     cmoOverwrite
  145.      CreateIniKeyValue ini$, "BubbleHelp", "~FSDSpellWrite",     EXEDEST$ + "\SPELLBUB.HLP",     cmoOverwrite
  146.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  147.      i% = DoMsgBox("Installation complete.", "SpellWrite Setup", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  148.     sz$ = UIStartDlg(CUIDLL$, INSTALLED, "InstalledProc", APPHELP, INSTALLEDPROC$)
  149.  
  150. END SUB
  151.  
  152.  
  153.  
  154. '**
  155. '** Purpose:
  156. '**     Appends a file name to the end of a directory path,
  157. '**     inserting a backslash character as needed.
  158. '** Arguments:
  159. '**     szDir$  - full directory path (with optional ending "\")
  160. '**     szFile$ - filename to append to directory
  161. '** Returns:
  162. '**     Resulting fully qualified path name.
  163. '*************************************************************************
  164. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  165.     IF szDir$ = "" THEN
  166.         MakePath = szFile$
  167.     ELSEIF szFile$ = "" THEN
  168.         MakePath = szDir$
  169.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  170.         MakePath = szDir$ + szFile$
  171.     ELSE
  172.         MakePath = szDir$ + "\" + szFile$
  173.     END IF
  174. END FUNCTION
  175.  
  176.