home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 9
/
CDE9_B.mdf
/
cyberspd
/
cyber.ins
< prev
next >
Wrap
Text File
|
1995-10-20
|
10KB
|
312 lines
DefineVariables
Text [ProductName] := Cyberspeed
Text [CompanyName] := Mindscape
Text [MainExeName] := CYBER.EXE
Text [CommandLineArgs1] :=
Text [CommandLineArgs2] :=
Text [ProgGrpName] := CYBERSPEED
Text [ProgGrpFileName] := CYBER.GRP
Text [RegEntryRoot] := Software
Text [RegEntry] := CybDemo
Text [RegAppID] := Cyberspeed
Text [IconName1] := BIG.ICO
Text [UninstallName] := UNSETUP.EXE
Text [UninstallScript] := UNSETUP.INS
Text [ThisWin32sVersion] := 1.25.142.0
Text [LogFile] := CYBER.LOG
Text [TempFile] :=
Text [TempStr] :=
Text [WinVer] :=
Text [WinPlatform] :=
Text [CurrentInstallOpt] := BlankString
Text [Win95DefProgFiles] := Program Files
Directory [PrevInstDir] := BlankString
Directory [SavedGameDir] := SAVED
Text [DefaultDestDir] :=
;; Directory [ExecDir] := EXECDIR
Directory [DefDest] := CYBER
Directory [LogoDir] := LOGO
Logical [Win95Only] := NoCharacter
Logical [TempYes] := NoCharacter
Logical [BailOut] := NoCharacter
Logical [PreviousInstall] := NoCharacter
Logical [DoWin32sSetup] := NoCharacter
Logical [DoReinstall] := NoCharacter
Logical [Multilingual] := NoCharacter
Number [MaxInstallDirLen] := 60
Number [Continue] := 1012
Logical [Root] := NoCharacter
Logical [CopyAborted] := NoCharacter
Directory [SourceDir] :=
Directory [TempDir] := BlankString
EndDefineVariables
SetDefaultBitmap Off
;;SetInstallModeTo Install
SetTraceMode Off
SetExitConfirmationPrompt off
SetPopupBorderTo double
;; SetBackgroundColor 0 0 0 0 0 0
SetReplacementInquiry Off
Logging On
Do CheckPreviousInstall
:DoneLanguage
[WinVer] := WindowsVersion
[WinPlatform] := WindowsPlatform
If [PreviousInstall]
[Number1] := PositionOf [UninstallName] in [CommandLine0]
If [Number1] > 0
Do Uninstall
GoTo Bail
EndIf
EndIf
;; check for uninstall or reinstall
;; on the command line. This may be passed by the Win95 autorun
;; program
If [CommandLine2] = Uninstall
Do Uninstall
GoTo Bail
Else
If [CommandLine2] = Reinstall
[DoReinstall] := YesCharacter
GoTo SkipPreviousCheck
EndIf
EndIf
:SkipPreviousCheck
If [Win95Only]
If .not. [WinPlatform] = Win95
Dialog
[ProductName] requires Windows 95.
You must install Windows 95 and then install
[ProductName].
EndDialog
EndIf
EndIf
If [PreviousInstall]
QueLogFile "[InstallationDirectory]\[LogFile]"
EndIf
[YesOrNo4] := YesCharacter
;; Product Introduction Screen
Do FirstInstall
If .not. [YesOrNo4]
GoTo Bail
EndIf
Do InstallSystem
Do InstallWinG
Do InstallRMorph
;; Do the actual copying
[InstallOption] := BlankString
SetCopyAttrTo 00
CopyQuedFiles LOGFILE "[InstallationDirectory]\[LogFile]" SILENTLY
[Number1] := LastErrorCode
If [Number1] = 1
[CopyAborted] := YesCharacter
Dialog BlackOnLightGray
The installation has been aborted.
You should run the install program again to either
complete the installation or to uninstall the
files that have been installed.
EndDialog
Else
If [Number1] = 2
Dialog BlackOnLightGray
Some files could not be overwritten yet because they are
in use by other applications. You should restart Windows
before running [ProductName] to allow the files to be
overwritten.
EndDialog
EndIf
EndIf
if [InstallOption] = NoSpace
Dialog BlackOnLightGray
You do not have sufficient disk space to run [ProductName].
You should delete some files on your hard disk and
then re-insert the CD.
EndDialog
GoTo Bail
EndIf
CreateLogFile "[InstallationDirectory]\[LogFile]"
Do FillRegister
DeleteCopyQue
;; run the product
Run [InstallationDirectory]\[MainExeName]
;; run the slideshow
;;dialog
;; Run [InstallFromDirectory]\SLIDES\pptview.exe [InstallFromDirectory]\Slides\Cybslide.ppt
;;enddialog
Run [InstallFromDirectory]\SLIDES\pptview.exe [InstallFromDirectory]\Slides\Cybslide.ppt
;; Automatically uninstall
Do Uninstall
:Bail
SoLong
Procedure PromptInstallDir
[InstallationDirectory] := EnvironmentStringFor TEMP
ValidateInstallDir "[InstallationDirectory]"
If .not. LastErrorCode = 0
[TempStr] := FirstFixedDrive
[InstallationDirectory] := [TempStr]:\TEMP
EndIf
EndProcedure
Procedure FirstInstall
Do PromptInstallDir
[Dir1] := [InstallationDirectory]
Do SecondInstall
EndProcedure
Procedure Uninstall
[InstallationDirectory] := RegQueryValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\InstallDir"
If LastErrorCode = 0
QueLogFile "[InstallationDirectory]\[LogFile]"
if LastErrorCode = 0
;; uninstall all saved games
[Number1] := 1
[Array5] := Reg32EnumValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\SavedGames"
While [Array5][[Number1]] <> BlankString
[TempStr] := [Array5][[Number1]]
[String1] := SubStringOf [TempStr] from 1 to 1
[String2] := SubStringOf [TempStr] from 4 to End
QueCopyFiles from [String1]: DELETE
"[String2]" SavedGame
EndQueCopyFiles
IncrementNumber [Number1]
EndWhile
[Number1] := 1
[Array5] := Reg32EnumValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\Misc"
While [Array5][[Number1]] <> BlankString
[TempStr] := [Array5][[Number1]]
[String1] := SubStringOf [TempStr] from 1 to 1
[String2] := SubStringOf [TempStr] from 4 to End
QueCopyFiles from [String1]: DELETE
"[String2]"
EndQueCopyFiles
IncrementNumber [Number1]
EndWhile
CopyQuedFiles LOGFILE "[InstallationDirectory]\[LogFile]" Uninstall SILENTLY
Endif
EndIf
Do EmptyRegister
EndProcedure
Procedure SecondInstall
QueCopyFiles from "[InstallFromDirectory]" to "[InstallationDirectory]"
CYBER\*.* as *.*
DATA\SAVEGAME\*.* as SAVEGAME\*.*
DATA\CYBER.PRF as CYBER.PRF
EndQueCopyFiles
EndProcedure
Procedure InstallWinG
QueCopyFiles from "[InstallFromDirectory]" to "[WindowsSystemDirectory]"
WING\*.* as *.* SharedDLL
EndQueCopyFiles
EndProcedure
Procedure InstallSystem
QueCopyFiles from "[InstallFromDirectory]" to "[WindowsSystemDirectory]"
SYSTEM\*.* as *.* SharedDLL
EndQueCopyFiles
EndProcedure
Procedure InstallMSVC20
If .not. [WinPlatform] = Win95
If ([WinPlatform] = Win16) .or. ([WinPlatform] = Win32s)
QueCopyFiles from "[InstallFromDirectory]" to "[WindowsSystemDirectory]"
MSVCRT20\Win32s\*.* as *.* SharedDLL
EndQueCopyFiles
Else
QueCopyFiles from "[InstallFromDirectory]" to "[WindowsSystemDirectory]"
MSVCRT20\Win32\*.* as *.* SharedDLL
EndQueCopyFiles
Endif
EndIf
EndProcedure
Procedure InstallRMorph
QueCopyFiles from "[InstallFromDirectory]" to "[WindowsSystemDirectory]"
RMORPH\*.* as *.* SharedDLL
RMORPH\RL\*.* as RL\*.* SharedDLL
RMORPH\RL\SOFT\*.* as RL\SOFT\*.* SharedDLL
EndQueCopyFiles
EndProcedure
Procedure CheckPreviousInstall
[PrevInstDir] := RegQueryValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\InstallDir"
If LastErrorCode = 0
[PreviousInstall] := YesCharacter
[InstallationDirectory] := [PrevInstDir]
[TempStr] := RegQueryValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\Language"
If LastErrorCode = 0
;; [Language] := [TempStr]
EndIf
EndIf
EndProcedure
Procedure FillRegister
;; Used by the program
;; RegSetValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\ExecDir" "[InstallationDirectory]\[ExecDir]"
RegSetValue ClassesRoot [RegEntryRoot]\[CompanyName]\[RegEntry]\RootDir "[InstallationDirectory]"
RegSetValue ClassesRoot [RegEntryRoot]\[CompanyName]\[RegEntry]\BinDir "[InstallationDirectory]\CYBER"
RegSetValue ClassesRoot [RegEntryRoot]\[CompanyName]\[RegEntry]\LocalDir "[InstallationDirectory]"
RegSetValue ClassesRoot [RegEntryRoot]\[CompanyName]\[RegEntry]\RemoteDir "[InstallFromDirectory]\DATA"
;; Windows 95 only
;; Used by Install
RegSetValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\InstallOption" "[InstallOption]"
RegSetValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\Language" "[Language]"
RegSetValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\InstallDir" "[InstallationDirectory]"
;; RegSetValue ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]\UnInstallScript" "[InstallationDirectory]\[UninstallScript]"
EndProcedure
Procedure EmptyRegister
;; RegDeleteKey ClassesRoot [RegAppID]
RegDeleteKey ClassesRoot "[RegEntryRoot]\[CompanyName]\[RegEntry]"
;; check to see if there are any other products under this company name
;; if not, then delete this entry too
[Array5] := RegEnumKey ClassesRoot "[RegEntryRoot]\[CompanyName]"
If .not. LastErrorCode = 0
RegDeleteKey ClassesRoot "[RegEntryRoot]\[CompanyName]"
EndIf
EndProcedure
EndScript