home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #1 / Image.iso / cdd / winanw2 / pcwin / install / pcwin.ms_ / pcwin.ms
Text File  |  1994-07-02  |  9KB  |  272 lines

  1. '**************************************************************************
  2. '*                       Personal Composer Setup
  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 OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29. DECLARE FUNCTION AddFontResource lib "gdi.exe" (FontFileName$) AS INTEGER
  30. 'DECLARE FUNCTION DeleteItem dde "progman.exe" (ItemName$) AS INTEGER
  31. DECLARE FUNCTION RemoveFontResource lib "gdi.exe" (FontFileName$) AS INTEGER
  32. DECLARE FUNCTION CreateScalableFontResource lib "gdi.exe" (hidden%,resource$,fontfile$,path$) AS INTEGER
  33.  
  34.  
  35. INIT:
  36.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  37.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  38.  
  39.     SetBitmap CUIDLL$, LOGO
  40.     SetTitle "Personal Composer Setup"
  41.  
  42.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  43.     IF szInf$ = "" THEN
  44.         szInf$ = GetSymbolValue("STF_CWDDIR") + "PCWIN.INF"
  45.     END IF
  46.     ReadInfFile szInf$
  47.  
  48.     OPTCUR$ = "1"
  49.     DEST$ = "C:\PCWin"
  50.  
  51. '$IFDEF DEBUG
  52.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  53.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  54.     IF IsDriveValid(WinDrive$) = 0 THEN
  55.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  56.         GOTO QUIT
  57.     END IF
  58. '$ENDIF ''DEBUG
  59.  
  60.  
  61.  
  62. GETPATH:
  63.     SetSymbolValue "EditTextIn", DEST$
  64.     SetSymbolValue "EditFocus", "END"
  65. GETPATHL1:
  66.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  67.     DEST$ = GetSymbolValue("EditTextOut")
  68.  
  69.     IF sz$ = "CONTINUE" THEN
  70.         IF IsDirWritable(DEST$) = 0 THEN
  71.             GOSUB BADPATH
  72.             GOTO GETPATHL1
  73.         END IF
  74.         UIPop 1
  75.     ELSE
  76.         GOSUB ASKQUIT
  77.         GOTO GETPATH
  78.     END IF
  79.  
  80.  
  81.     Install
  82.  
  83.  
  84. QUIT:
  85.     ON ERROR GOTO ERRQUIT
  86.  
  87.     IF ERR = 0 THEN
  88.         dlg% = EXITSUCCESS
  89.     ELSEIF ERR = STFQUIT THEN
  90.         dlg% = EXITQUIT
  91.     ELSE
  92.         dlg% = EXITFAILURE
  93.     END IF
  94. QUITL1:
  95.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  96.     IF sz$ = "REACTIVATE" THEN
  97.         GOTO QUITL1
  98.     END IF
  99.     UIPop 1
  100.  
  101.     END
  102.  
  103. ERRQUIT:
  104.     i% = DoMsgBox("Setup sources were corrupted, call Support!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  105.     END
  106.  
  107.  
  108.  
  109. BADPATH:
  110.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  111.     IF sz$ = "REACTIVATE" THEN
  112.         GOTO BADPATH
  113.     END IF
  114.     UIPop 1
  115.     RETURN
  116.  
  117.  
  118.  
  119. ASKQUIT:
  120.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  121.  
  122.     IF sz$ = "EXIT" THEN
  123.         UIPopAll
  124.         ERROR STFQUIT
  125.     ELSEIF sz$ = "REACTIVATE" THEN
  126.         GOTO ASKQUIT
  127.     ELSE
  128.         UIPop 1
  129.     END IF
  130.     RETURN
  131.  
  132.  
  133.  
  134. '**
  135. '** Purpose:
  136. '**     Builds the copy list and performs all installation operations.
  137. '** Arguments:
  138. '**     none.
  139. '** Returns:
  140. '**     none.
  141. '*************************************************************************
  142. SUB Install STATIC
  143.  
  144.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  145.     CreateDir DEST$, cmoNone
  146.  
  147.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  148.     WriteToLogFile ""
  149.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  150.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  151.     WriteToLogFile ""
  152.     WriteToLogFile "May have had to create the directory: " + DEST$
  153.     WriteToLogFile ""
  154.  
  155.     szShareDir$ = GetWindowsSysDir()
  156.     SetRestartDir szShareDir$
  157.  
  158.  
  159.  
  160.     szVienna$ = szShareDir$+"pcvienna.ttf"
  161.     szStrum$ = szShareDir$+"pcstrum.ttf"
  162.     szMuse$ = szShareDir$+"pcmuse.ttf"
  163.  
  164.     RemoveFile szVienna$, cmoForce
  165.     RemoveFile szStrum$, cmoForce
  166.     RemoveFile szMuse$, cmoForce
  167.  
  168.  
  169. '   gets error type mismatch, or parse error
  170.  
  171.     rc% = RemoveFontResource("pcVienna.fot")
  172.     rc% = RemoveFontResource("pcStrum.fot")
  173.     rc% = RemoveFontResource("pcMuse.fot")
  174.  
  175. '  the older font files are NOT being overwritten!
  176. '  In Dsklayt I have specified ALWAYS overwrite.
  177.  
  178.     szVienna$ = szShareDir$+"pcvienna.fot"
  179.     szStrum$ = szShareDir$+"pcstrum.fot"
  180.     szMuse$ = szShareDir$+"pcmuse.fot"
  181.  
  182.     RemoveFile szVienna$, cmoForce
  183.     RemoveFile szStrum$, cmoForce
  184.     RemoveFile szMuse$, cmoForce
  185.  
  186.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  187.     AddSectionFilesToCopyList "SysFiles", SrcDir$, szShareDir$
  188.     CopyFilesInCopyList
  189.  
  190.  
  191.     rc% = CreateScalableFontResource(0,szShareDir$+"pcvienna.fot","pcvienna.ttf", szShareDir$)
  192.     rc% = CreateScalableFontResource(0,szShareDir$+"pcstrum.fot","pcstrum.ttf", szShareDir$)
  193.     rc% = CreateScalableFontResource(0,szShareDir$+"pcmuse.fot","pcmuse.ttf", szShareDir$)
  194. '   rc% = CreateScalableFontResource(0,"d:\windows\system\pcvienna.fot","d:\windows\system\pcvienna.ttf", 0)
  195.  
  196.     ini$ = MakePath(DEST$, "PCWin.INI")
  197.     CreateIniKeyValue "WIN.INI", "Personal Composer", "dir", DEST$, cmoOverwrite
  198.     CreateIniKeyValue ini$, "Personal Composer", "LogoCaption", "1" , cmoNone
  199.     CreateIniKeyValue ini$, "Personal Composer", "title", "black", cmoNone
  200.     CreateIniKeyValue ini$, "Personal Composer", "menu", "black", cmoNone
  201.     CreateIniKeyValue ini$, "Personal Composer", "button", "red", cmoNone
  202.     CreateIniKeyValue ini$, "Personal Composer", "pageicon", "sky", cmoNone
  203.     CreateIniKeyValue ini$, "Personal Composer", "pageiconnumber", "black", cmoNone
  204.     CreateIniKeyValue ini$, "Personal Composer", ";MaxMeasures", "1024" , cmoNone
  205.     CreateIniKeyValue ini$, "Personal Composer", ";MaxMeasuresPerSystem", "16" , cmoNone
  206.     CreateIniKeyValue ini$, "Personal Composer", ";MaxSystemsPerPage", "8" , cmoNone
  207.     CreateIniKeyValue ini$, "Personal Composer", ";MaxSlur", "1024" , cmoNone
  208. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank0", "8" , cmoNone
  209. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank1", "8" , cmoNone
  210. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank2", "64" , cmoNone
  211. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank3", "8" , cmoNone
  212. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank4", "64" , cmoNone
  213. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank5", "8" , cmoNone
  214. '   CreateIniKeyValue ini$, "Personal Composer", ";Bank6", "2" , cmoNone
  215. '   CreateIniKeyValue ini$, "Fonts", "MusicSymbolFontName", "Personal Vienna", cmoNone
  216. '   CreateIniKeyValue ini$, "Fonts", "SystemFontName", "Times New Roman", cmoNone
  217.  
  218. '   WriteToLogFile "Removing Fonts"
  219.  
  220.     CreateIniKeyValue "WIN.INI", "Fonts", "Personal Vienna (TrueType)", "PCVIENNA.FOT", cmoOverwrite
  221.     CreateIniKeyValue "WIN.INI", "Fonts", "Personal Strum (TrueType)", "PCSTRUM.FOT", cmoOverwrite
  222.     CreateIniKeyValue "WIN.INI", "Fonts", "Personal Muse (TrueType)", "PCMUSE.FOT", cmoOverwrite
  223.  
  224.     rc% = AddFontResource("pcVienna.fot")
  225.     rc% = AddFontResource("pcStrum.fot")
  226.     rc% = AddFontResource("pcMuse.fot")
  227.  
  228.  
  229.  
  230.     AddSectionFilesToCopyList "SampleFiles", SrcDir$, DEST$
  231.     CopyFilesInCopyList
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.     CreateProgmanGroup "Personal Composer", "", cmoNone
  239.     ShowProgmanGroup  "Personal Composer", 1, cmoNone
  240.     CreateProgmanItem "Personal Composer", "Personal Composer", MakePath(DEST$,"pcwin.exe"), "", cmoOverwrite
  241.     CreateProgmanItem "Personal Composer", "Version 1 Release notes", "write.exe "+MakePath(DEST$,"readme.wri"), "", cmoOverwrite
  242.  
  243. '   AddDos5Help "PCWSetup", "Any Problems with installation?"+chr$(10)+"Call (918) - 742-4292", cmoNone
  244. '   CloseLogFile
  245.  
  246. END SUB
  247.  
  248.  
  249.  
  250. '**
  251. '** Purpose:
  252. '**     Appends a file name to the end of a directory path,
  253. '**     inserting a backslash character as needed.
  254. '** Arguments:
  255. '**     s