home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / demo / leadtool / disk1 / leadview.ms_ / leadview.ms
Encoding:
Text File  |  1995-01-31  |  6.6 KB  |  214 lines

  1. '**************************************************************************
  2. '*                       LEADVIEW 3.0 for Windows 
  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 ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST BADPATH       = 6400
  19. CONST ABOUT         = 1100
  20. ''Bitmap ID
  21. CONST LOGO = 2
  22.  
  23. GLOBAL DEST$        ''Default destination directory.
  24. GLOBAL OPTCUR$      ''Option selection from option dialog.
  25.  
  26. DECLARE SUB Install
  27. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  28.  
  29.  
  30. INIT:
  31.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  32.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  33.  
  34.     SetBitmap CUIDLL$, LOGO
  35.     SetTitle "Imagehandler 4.0 for Windows Setup"
  36.  
  37.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  38.     IF szInf$ = "" THEN
  39.         szInf$ = GetSymbolValue("STF_CWDDIR") + "leadview.INF"
  40.     END IF
  41.     ReadInfFile szInf$
  42.  
  43.     OPTCUR$ = "1"
  44.     DEST$ = "C:\imagehan"
  45.  
  46. '$IFDEF DEBUG
  47.     i% = SetSizeCheckMode(scmOff)    '' could use scmOff; def = scmOnFatal
  48.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  49.     IF IsDriveValid(WinDrive$) = 0 THEN
  50.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  51.         GOTO QUIT
  52.     END IF
  53. '$ENDIF ''DEBUG
  54.  
  55.  
  56. WELCOME:
  57.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  58.     IF sz$ = "CONTINUE" THEN
  59.         UIPop 1
  60.     ELSE
  61.         GOSUB ASKQUIT
  62.         GOTO WELCOME
  63.     END IF
  64.  
  65. GETPATH:
  66.     SetSymbolValue "EditTextIn", DEST$
  67.     SetSymbolValue "EditFocus", "END"
  68.  
  69. GETPATHL1:
  70.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  71.     DEST$ = GetSymbolValue("EditTextOut")
  72.  
  73.     IF sz$ = "CONTINUE" THEN
  74.         IF IsDirWritable(DEST$) = 0 THEN
  75.             GOSUB BADPATH
  76.             GOTO GETPATHL1
  77.         END IF
  78.         UIPop 1
  79.     ELSEIF sz$ = "REACTIVATE" THEN
  80.         GOTO GETPATHL1
  81.     ELSEIF sz$ = "BACK" THEN
  82.         UIPop 1
  83.         GOTO WELCOME
  84.     ELSE
  85.         GOSUB ASKQUIT
  86.         GOTO GETPATH
  87.     END IF
  88.  
  89.     Install
  90.  
  91. QUIT:
  92.  
  93.     ON ERROR GOTO ERRQUIT
  94.  
  95.     IF ERR = 0 THEN
  96.         dlg% = EXITSUCCESS
  97.     ELSEIF ERR = STFQUIT THEN
  98.         dlg% = EXITQUIT
  99.     ELSE
  100.         dlg% = EXITFAILURE
  101.     END IF
  102.  
  103. QUITL1:
  104.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  105.     IF sz$ = "REACTIVATE" THEN
  106.         GOTO QUITL1
  107.     END IF
  108.     UIPop 1
  109.  
  110.     END
  111.  
  112. ERRQUIT:
  113.     i% = DoMsgBox("Setup sources were corrupted, call 549-5532!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  114.     END
  115.  
  116. BADPATH:
  117.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  118.     IF sz$ = "REACTIVATE" THEN
  119.         GOTO BADPATH
  120.     END IF
  121.     UIPop 1
  122.     RETURN
  123.  
  124. ASKQUIT:
  125.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  126.  
  127.     IF sz$ = "EXIT" THEN
  128.         UIPopAll
  129.         ERROR STFQUIT
  130.     ELSEIF sz$ = "REACTIVATE" THEN
  131.         GOTO ASKQUIT
  132.     ELSE
  133.         UIPop 1
  134.     END IF
  135.     RETURN
  136.  
  137. '**
  138. '** Purpose:
  139. '**     Builds the copy list and performs all installation operations.
  140. '** Arguments:
  141. '**     none.
  142. '** Returns:
  143. '**     none.
  144. '*************************************************************************
  145. SUB Install STATIC
  146.  
  147.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  148.     CreateDir DEST$, cmoNone
  149.  
  150.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  151.     WriteToLogFile ""
  152.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  153.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  154.     WriteToLogFile ""
  155.     WriteToLogFile "May have had to create the directory: " + DEST$
  156.     WriteToLogFile ""
  157.  
  158.     WinDir$ = GetWindowsDir
  159.     WinSystemDir$ = MakePath(GetWindowsDir,"system")
  160.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  161.     CopyFilesInCopyList
  162.  
  163.     CreateIniKeyValue "WIN.INI", "Extensions", "CMP", "Handler.EXE ^.CMP ", cmoNone
  164.     CreateIniKeyValue "WIN.INI", "Extensions", "JPG", "Handler.exe ^.JPG ", cmoNone
  165.     CreateIniKeyValue "WIN.INI", "Extensions", "JFF", "Handler.exe ^.JFF ", cmoNone
  166.     CreateIniKeyValue "WIN.INI", "Extensions", "JTF", "Handler.exe ^.JTF ", cmoNone
  167.     CreateIniKeyValue "WIN.INI", "Extensions", "TIF", "Handler.exe ^.TIF ", cmoNone
  168.     CreateIniKeyValue "WIN.INI", "Extensions", "BMP", "Handler.exe ^.BMP ", cmoNone
  169.     CreateIniKeyValue "WIN.INI", "Extensions", "TGA", "Handler.exe ^.TGA ", cmoNone
  170.     CreateIniKeyValue "WIN.INI", "Extensions", "GIF", "Handler.exe ^.GIF ", cmoNone
  171.     CreateIniKeyValue "WIN.INI", "Extensions", "PCX", "Handler.exe ^.PCX ", cmoNone
  172.     CreateIniKeyValue "WIN.INI", "Extensions", "WMF", "Handler.exe ^.WMF ", cmoNone
  173.     CreateIniKeyValue "WIN.INI", "Extensions", "CAL", "Handler.exe ^.CAL ", cmoNone
  174.  
  175.     CreateProgmanGroup "Imagehandler 4.0", "", cmoNone
  176.     ShowProgmanGroup  "Imagehandler 4.0", 1, cmoNone
  177.     CreateProgmanItem "Imagehandler 4.0", "Imagehandler 4.0 Paint & Draw", MakePath(DEST$,"Handler.exe"), "", cmoOverwrite
  178.     CreateProgmanItem "Imagehandler 4.0", "LEADTOOLS 4.5 DEMO", MakePath(DEST$,"demo.exe"), "", cmoOverwrite
  179.     CreateProgmanItem "Imagehandler 4.0", "SCROLL & ZOOM Sample", MakePath(DEST$,"scrlzoom.exe"), "", cmoOverwrite
  180.     CreateProgmanItem "Imagehandler 4.0", "LEAD WndClass Sample", MakePath(DEST$,"regclass.exe"), "", cmoOverwrite
  181.     CreateProgmanItem "Imagehandler 4.0", "Paint Effect Sample", MakePath(DEST$,"painteff.exe"), "", cmoOverwrite
  182.     CreateProgmanItem "Imagehandler 4.0", "Read ME First", "Write.exe "+MakePath(DEST$,"Readme.wri"), "", cmoOverwrite
  183.     RUN "Write.exe "+MakePath(DEST$,"Readme.wri")
  184.  
  185.  
  186.     CloseLogFile
  187.  
  188. END SUB
  189.  
  190.  
  191.  
  192. '**
  193. '** Purpose:
  194. '**     Appends a file name to the end of a directory path,
  195. '**     inserting a backslash character as needed.
  196. '** Arguments:
  197. '**     szDir$  - full directory path (with optional ending "\")
  198. '**     szFile$ - filename to append to directory
  199. '** Returns:
  200. '**     Resulting fully qualified path name.
  201. '*************************************************************************
  202. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  203.     IF szDir$ = "" THEN
  204.         MakePath = szFile$
  205.     ELSEIF szFile$ = "" THEN
  206.         MakePath = szDir$
  207.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  208.         MakePath = szDir$ + szFile$
  209.     ELSE
  210.         MakePath = szDir$ + "\" + szFile$
  211.     END IF
  212. END FUNCTION
  213.  
  214.