home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 November / CHIP_CD_1997_11_PL.iso / software / backup / powers16 / pwrsync.mst < prev    next >
Encoding:
Text File  |  1994-08-08  |  8.9 KB  |  318 lines

  1. '/*
  2. '///////////////////////////////////////////////////////////////////////////////
  3. '// THIS IS UNPUBLISHED CONFIDENTIAL AND PROPRIETARY SOURCE CODE OF LINKPRO INC.
  4. '//          This source code is the sole property of LINKPRO INC.
  5. '//        Reproduction or utilization of this source in whole or in
  6. '//      part is forbidden without the written consent of LINKPRO INC.
  7. '///////////////////////////////////////////////////////////////////////////////
  8. '//                 (c) Copyright LINKPRO INC. 1993
  9. '//                        All Rights Reserved
  10. '///////////////////////////////////////////////////////////////////////////////
  11. '*/
  12. '/*
  13. '///////////////////////////////////////////////////////////////////////////////
  14. '//
  15. '//  File:                pwrsync.mst
  16. '//  Platform:                mssetup
  17. '//  Environment:            
  18. '//  Contains:                PowerSync Setup Script
  19. '//
  20. '///////////////////////////////////////////////////////////////////////////////
  21. '//  Functions and Classes:    Status:        Comment:
  22. '//  Function
  23. '//
  24. '///////////////////////////////////////////////////////////////////////////////
  25. '//  Author Log:
  26. '//  ( Sun, Feb 14, 1993 )    Rex Reinhart
  27. '//
  28. '//
  29. '///////////////////////////////////////////////////////////////////////////////
  30. '//  Change Log:
  31. '//  ( Sun, Feb 14, 1993 )    Created
  32. '//
  33. '//
  34. '///////////////////////////////////////////////////////////////////////////////
  35. '*/
  36.  
  37. '$DEFINE DEBUG  ''Define for script development/debugging
  38.  
  39. '$INCLUDE 'setupapi.inc'
  40. '$INCLUDE 'msdetect.inc'
  41.  
  42. ''Dialog ID's
  43. CONST WELCOME       = 100
  44. CONST ASKQUIT       = 200
  45. CONST DESTPATH      = 300
  46. CONST EXITFAILURE   = 400
  47. CONST EXITQUIT      = 600
  48. CONST EXITSUCCESS   = 700
  49. CONST APPHELP       = 900
  50. CONST BADPATH       = 6400
  51. CONST REGISTRATION    = 7500
  52. CONST NAMEREQUIRED    = 7700
  53. CONST SERREQUIRED    = 7800
  54.  
  55. ''Bitmap ID
  56. CONST LOGO = 1
  57.  
  58. GLOBAL WINDIR$        ''Windows directory
  59.  
  60. GLOBAL DEST$        ''Default destination directory.
  61.  
  62. GLOBAL EXEDIR$        ''exe  directory
  63. GLOBAL LOGDIR$        ''Default log directory.
  64. GLOBAL AUTODIR$    ''auto sync directory
  65.  
  66. ''Name, Organization, and Serial number string variables
  67. GLOBAL USERNAME$
  68. GLOBAL COMPANYNAME$
  69. GLOBAL SERIALNUMBER$
  70.  
  71. DECLARE SUB Install
  72. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  73.  
  74.  
  75. INIT:
  76.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  77.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  78.     
  79.     SetBitmap CUIDLL$, LOGO
  80.     SetTitle "PowerSync Setup"
  81.     
  82.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  83.     IF szInf$ = "" THEN
  84.         szInf$ = GetSymbolValue("STF_CWDDIR") + "PWRSYNC.INF"
  85.     END IF
  86.     ReadInfFile szInf$
  87.     
  88.     DEST$ = "C:\PWRSYNC"
  89.     WINDIR$ = GetWindowsDir
  90.  
  91. '$IFDEF DEBUG
  92.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  93.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  94.     IF IsDriveValid(WinDrive$) = 0 THEN
  95.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  96.         GOTO QUIT
  97.     END IF
  98. '$ENDIF ''DEBUG
  99.  
  100.  
  101. WELCOME:
  102.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  103.     IF sz$ = "CONTINUE" THEN
  104.         UIPop 1    
  105.         GOTO REGISTRATIONBOX
  106.     ELSE
  107.         GOSUB ASKQUIT
  108.         GOTO WELCOME
  109.     END IF
  110.  
  111.  
  112. REGISTRATIONBOX:            
  113.     UIPop 1    
  114.     SetSymbolValue "NameOut", ""
  115.     SetSymbolValue "OrgOut",  ""
  116.     SetSymbolValue "SerOut",  ""
  117. GETREG:    
  118.     sz$ = UIStartDlg(CUIDLL$, REGISTRATION, "FNameOrgDlgProc", APPHELP, HELPPROC$)    
  119.     IF sz$ = "CONTINUE" THEN
  120.         USERNAME$ = GetSymbolValue("NameOut")
  121.         COMPANYNAME$ = GetSymbolValue("OrgOut")                
  122.         SERIALNUMBER$ = GetSymbolValue("SerOut")
  123.         IF USERNAME$ = "" THEN            ''NULL user name not allowed.
  124.             GOTO NAMEREQD
  125.         END IF
  126.         IF SERIALNUMBER$ = "" THEN        ''NULL serial number not allowed.
  127.             GOTO SERREQD
  128.         END IF          
  129.         UIPop 1    
  130.     ELSEIF sz$ = "BACK" THEN
  131.         UIPop 1            
  132.         GOTO WELCOME
  133.     ELSEIF sz$ = "EXIT" THEN
  134.         UIPop 1        
  135.         GOSUB ASKQUIT
  136.         GOTO GETREG
  137.     END IF
  138.  
  139.  
  140. GETPATH:
  141.     SetSymbolValue "EditTextIn", DEST$
  142.     SetSymbolValue "EditFocus", "END"
  143. GETPATHL1:
  144.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  145.  
  146.     DEST$ = GetSymbolValue("EditTextOut")
  147.  
  148.     EXEDIR$ = DEST$
  149.     LOGDIR$ = MakePath(DEST$, "LOG")
  150.     AUTODIR$ = MakePath(DEST$, "AUTOSYNC")
  151.  
  152.     IF sz$ = "CONTINUE" THEN
  153.         IF IsDirWritable(DEST$) = 0 THEN
  154.             GOSUB BADPATH
  155.             GOTO GETPATHL1
  156.         END IF
  157.         UIPop 1
  158.     ELSEIF sz$ = "BACK" THEN
  159.         UIPop 1
  160.         GOTO REGISTRATIONBOX 
  161.     ELSE
  162.         GOSUB ASKQUIT
  163.         GOTO GETPATH
  164.     END IF
  165.  
  166.     Install
  167.  
  168.  
  169. QUIT:
  170.     ON ERROR GOTO ERRQUIT
  171.     IF ERR = 0 THEN
  172.         dlg% = EXITSUCCESS
  173.     ELSEIF ERR = STFQUIT THEN
  174.         dlg% = EXITQUIT
  175.     ELSE
  176.         dlg% = EXITFAILURE
  177.     END IF
  178.     
  179.  
  180. QUITL1:
  181.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  182.     IF sz$ = "REACTIVATE" THEN
  183.         GOTO QUITL1
  184.     END IF
  185.     UIPop 1
  186.     END
  187.  
  188.  
  189. ERRQUIT:
  190.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  191.     END
  192.  
  193.  
  194.  
  195. BADPATH:
  196.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  197.     IF sz$ = "REACTIVATE" THEN
  198.         GOTO BADPATH
  199.     END IF
  200.     UIPop 1
  201.     RETURN
  202.  
  203.  
  204. ASKQUIT:
  205.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  206.     IF sz$ = "EXIT" THEN
  207.         UIPopAll
  208.         ERROR STFQUIT
  209.     ELSEIF sz$ = "REACTIVATE" THEN
  210.         GOTO ASKQUIT
  211.     ELSE
  212.         UIPop 1
  213.     END IF
  214.     RETURN
  215.  
  216.  
  217. NAMEREQD:
  218.     sz$ = UIStartDlg(CUIDLL$, NAMEREQUIRED, "FInfo0DlgProc", 0, "")    
  219.     IF sz$ = "CONTINUE" THEN
  220.         UIPop 1    
  221.         GOTO GETREG
  222.     END IF
  223.  
  224.  
  225. SERREQD:
  226.     sz$ = UIStartDlg(CUIDLL$, SERREQUIRED, "FInfo0DlgProc", 0, "")    
  227.     IF sz$ = "CONTINUE" THEN    
  228.         UIPop 1    
  229.         GOTO GETREG
  230.     END IF
  231.  
  232. '*************************************************************************
  233. '** Purpose:
  234. '**     Builds the copy list and performs all installation operations.
  235. '** Arguments:
  236. '**     none.
  237. '** Returns:
  238. '**     none.
  239. '*************************************************************************
  240. SUB Install STATIC
  241.  
  242.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  243. ''    LogFile$ = MakePath(DEST$, "LOGFILE.OUT")
  244.  
  245.     CreateDir DEST$, cmoNone
  246.     CreateDir LOGDIR$, cmoNone
  247.     CreateDir AUTODIR$, cmoNone
  248.     
  249. ''    OpenLogFile LogFile$, 0
  250. ''    WriteToLogFile ""
  251. ''    WriteToLogFile "User chose as destination directory: '" + DEST$ + "'"
  252. ''    WriteToLogFile ""
  253. ''    WriteToLogFile "May have had to create the directory: " + DEST$
  254. ''    WriteToLogFile ""
  255.     
  256.     AddSectionFilesToCopyList "Exe", SrcDir$, DEST$
  257.     AddSectionFilesToCopyList "Link", SrcDir$, DEST$ 
  258. ''    AddSectionFilesToCopyList "Quick", SrcDir$, DEST$ 
  259.     AddSectionFilesToCopyList "Ini", SrcDir$, WINDIR$ 
  260.     
  261.     CopyFilesInCopyList
  262.     
  263.     ini$ = MakePath(WINDIR$, "PWRSYNC.INI")
  264.  
  265.     CreateIniKeyValue ini$, "Dir", "Exe dir", EXEDIR$, cmoOverwrite
  266.     CreateIniKeyValue ini$, "Dir", "Log Dir", LOGDIR$, cmoOverwrite
  267.     CreateIniKeyValue ini$, "Dir", "Auto Sync Dir", AUTODIR$, cmoOverwrite
  268.  
  269.     CreateIniKeyValue ini$, "Dir", "Quick dir", EXEDIR$, cmoOverwrite
  270.     CreateIniKeyValue ini$, "Dir", "LinkUp Dir", EXEDIR$, cmoOverwrite
  271.  
  272.  
  273.     CreateIniKeyValue ini$, "Install", "SN", SERIALNUMBER$, cmoOverwrite
  274.     CreateIniKeyValue ini$, "Install", "User", USERNAME$, cmoOverwrite    
  275.     CreateIniKeyValue ini$, "Install", "Company", COMPANYNAME$, cmoOverwrite        
  276.  
  277.     CreateSysIniKeyValue MakePath(WINDIR$, "win.ini"), "Extensions", "snc", MakePath(DEST$,"PWRSYNC.EXE") + " ^.snc" , cmoOverwrite
  278.  
  279.     CreateProgmanGroup "PowerSync 1.11", "", cmoNone
  280.     ShowProgmanGroup  "PowerSync 1.11", 1, cmoNone
  281.  
  282.     CreateProgmanItem "PowerSync 1.11", "PowerSync", MakePath(DEST$,"PWRSYNC.EXE"), MakePath(DEST$, "PWRSYNC.EXE"), cmoOverwrite
  283. ''    CreateProgmanItem "PowerSync 1.11", "QuickSync", MakePath(DEST$,"QUIKSYNC.EXE"), MakePath(DEST$, "PWRSYNC.EXE"), cmoOverwrite
  284.     CreateProgmanItem "PowerSync 1.11", "ReadMe", "WRITE.EXE " + MakePath(DEST$,"README.WRI"), MakePath(DEST$, "README.WRI"), cmoOverwrite
  285.  
  286.     CreateProgmanItem "PowerSync 1.11", "Setup InterLink Client", MakePath(DEST$,"LINKUP.EXE"), MakePath(DEST$, "LINKUP.EXE"), cmoOverwrite
  287.     CreateProgmanItem "PowerSync 1.11", "Start InterLink Server", "INTERSVR.EXE", "INTERSVR.EXE", cmoOverwrite
  288.  
  289. ''    CloseLogFile
  290. ''    RemoveFile LogFile$, cmoNone
  291.     
  292. END SUB
  293.  
  294.  
  295.  
  296. '**
  297. '** Purpose:
  298. '**     Appends a file name to the end of a directory path,
  299. '**     inserting a backslash character as needed.
  300. '** Arguments:
  301. '**     szDir$  - full directory path (with optional ending "\")
  302. '**     szFile$ - filename to append to directory
  303. '** Returns:
  304. '**     Resulting fully qualified path name.
  305. '*************************************************************************
  306. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  307.     IF szDir$ = "" THEN
  308.         MakePath = szFile$
  309.     ELSEIF szFile$ = "" THEN
  310.         MakePath = szDir$
  311.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  312.         MakePath = szDir$ + szFile$
  313.     ELSE
  314.         MakePath = szDir$ + "\" + szFile$
  315.     END IF
  316. END FUNCTION
  317.  
  318.