|
|
;*********************************************************************** ; CONSTANTS FOR USING DIALOGS ;*********************************************************************** [GeneralConstants]
; ; Constants to support the use of radio button dialogs ;
Radio1 = "1" Radio2 = "2" Radio3 = "3" Radio4 = "4" Radio5 = "5" Radio6 = "6" Radio7 = "7" Radio8 = "8" Radio9 = "9"
; ; Constants to support the use of checkbox dialogs
Chosen = "ON" NotChosen = "OFF"
;************************************************************************ ; CONFIGURATION CHOICES ; --------------------- ; the sections below contain the different choices supported for ; the configuration items shown. an id section establishes the ; language independent IDs supported by nt setup. for each language ; supported a text section displays the text used for the different ; choices ;************************************************************************
;******************************** ; PLATFORM INDEPENDENT CHOICES ;******************************** ;---------------------------------------------------- ; PROCESSOR CHOICES ;---------------------------------------------------- [ProcessorID] ProcessorID_I386 = I386 ProcessorID_I486 = I486 ProcessorID_I586 = I586 ProcessorID_R4000 = R4000 ProcessorID_Alpha = Alpha_AXP ProcessorID_PPC601 = PPC601 ProcessorID_PPC603 = PPC603 ProcessorID_PPC604 = PPC604 ProcessorID_PPC620 = PPC620
;---------------------------------------------------- ; PLATFORM CHOICES ;---------------------------------------------------- [PlatformID] PlatformID_I386 = I386 PlatformID_Mips = Mips PlatformID_Alpha = Alpha PlatformID_PPC = ppc
;************************************************************** ; UI VARIABLES ;**************************************************************
[ProcessorVar]
STF_PROCESSOR = "" ? $(LIBHANDLE) GetProcessor STF_PLATFORM = ""
[LanguageVar] ; ; Language to Use For interaction with user ; STF_LANGUAGE = "" ? $(LIBHANDLE) GetLanguage
[UiVars] ; ; Version Information ;
BuildVersion = "12-91"
; ; Destination TOOLS Drive Particulars ; VolumeList = {} ? $(LIBHANDLE) GetHardDriveLetters VolumeFreeList = {} ? $(LIBHANDLE) GetHardDriveFreeSpace VolumeFSList = {} ? $(LIBHANDLE) GetHardDriveFileSystems DestVolume = "" ;
; ; Mstools directory ;
MSTOOLS = "\MSTOOLS"
; ; user environment variables in the current user's profile ;
PathEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Path LibEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Lib IncludeEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Include InitEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER init
; ; Installation mode ;
MinInteract = $(Radio1) MaxInteract = $(Radio2) STF_INSTALL_MODE = $(MinInteract)
; ; Mstools Setup Help IDs ;
!IDH_DB_TOOLSWELCOME_INS = 3000 !IDH_DB_MSTINSTALLMODE_INS = 3010 !IDH_DB_MSTDEST_INS = 3020 !IDH_DB_MSTOPTIONS_INS = 3030
[VarsI386] ; MinToolsSize = 10 MaxToolsSize = 26 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 5675520 PosixSize = 0
; ; Installation options ;
DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(Chosen) DoPosix = $(NotChosen)
; ; Options to disable ;
DisableList = {4}
[VarsMips] ; MinToolsSize = 20 MaxToolsSize = 36 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 0 PosixSize = 0
; ; Installation options ;
DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(NotChosen) DoPosix = $(NotChosen)
; ; Options to disable ;
DisableList = {3,4}
[Varsppc] ; MinToolsSize = 20 MaxToolsSize = 36 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 0 PosixSize = 0
; ; Installation options ;
DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(NotChosen) DoPosix = $(NotChosen)
; ; Options to disable ;
DisableList = {3,4}
;************************************************************************** ; DLL LOAD and FREE ; the following section contain commands to load specific dll libraries and ; to free them ;**************************************************************************
;---------------------------------------------- ; a) DETECT LIBRARY ;---------------------------------------------- [LoadSetupLibrary] LoadLibrary "x" $(STF_CWDDIR)\setupdll.dll LIBHANDLE exit
[FreeSetupLibrary] FreeLibrary $(LIBHANDLE) exit
;************************************************************************** ; SHELL COMMANDS SCRIPT ;**************************************************************************
[Shell Commands]
; ; Initialise the app, by setting the caption and loading the support library ; set-title "Win32 SDK Setup" set Exit_Code = $(!SETUP_ERROR_GENERAL) install LoadSetupLibrary
StartWait
; ; read general constants ;
set-subst LF = "\n" read-syms GeneralConstants
; ; read the platform independent choices ;
read-syms LanguageID read-syms ProcessorID read-syms PlatformID
; ; read the default language and try to detect the language ;
read-syms LanguageVar detect LanguageVar
; ; read and detect the processor we are working on ;
read-syms ProcessorVar detect ProcessorVar read-syms Strings$(!STF_LANGUAGE) ; ; Check processor type, see if it is supported, if so what platform does it ; belong to. ;
ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I386) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000) set STF_PLATFORM = $(PlatformID_Mips) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_Alpha) set STF_PLATFORM = $(PlatformID_Alpha) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC601) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC603) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC604) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC620) set STF_PLATFORM = $(PlatformID_PPC) else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String1) goto setupnotdone endif
; ; read the UI Variables and detect their setting on the current machine ;
read-syms UiVars detect UiVars read-syms Vars$(STF_PLATFORM)
EndWait
welcome =+ read-syms WelcomeDlg$(STF_LANGUAGE) ui start "Welcome" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto queryinstallmode else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto welcome endif else goto end endif
; ; show install mode dialog and query if we are to operate in express mode ; or in full install ;
queryinstallmode =+ read-syms InstallModeDlg$(STF_LANGUAGE) ui start "InstallMode" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 set STF_INSTALL_MODE = $(ButtonChecked) goto setdestination else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto queryinstallmode endif else goto end endif
setdestination =+
; ; go through the volume list and form the destination volume list of ; all volumes which have the size needed to install the mstools. ; set DestVolumeList = {} set DestVolumeFreeList = {}
ForListDo $(VolumeList)
set CurrentVolume = *($(VolumeList), $(#)) set CurrentVolumeFree = *($(VolumeFreeList), $(#)) set CurrentVolumeFS = *($(VolumeFSList), $(#))
Ifstr(i) $(CurrentVolumeFS) == "" goto skipvol else-Ifint $(CurrentVolumeFree) < $(MinToolsSize) goto skipvol endif
set DestVolumeList = >($(DestVolumeList), $(CurrentVolume)) set DestVolumeFreeList = >($(DestVolumeFreeList), $(CurrentVolumeFree))
skipvol=+ EndForListDo
; ; check to see if there is any volume else tell the user to create enough ; space and exit ;
ifstr(i) $(DestVolumeList) == {} shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String8)$(MaxToolsSize)$(String10)$(String11) goto setupnotdone endif
; ; destination drive is the drive with the maximum space ;
set DestVolume = "" set DestVolumeFree = 0
ForListDo $(DestVolumeList) set Volume = $($) set VolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(Volume)))
ifint $(VolumeFree) > $(DestVolumeFree) set DestVolume = $(Volume) set DestVolumeFree = $(VolumeFree) endif
EndForListDo
set MstoolsDir = $(DestVolume)$(MSTOOLS)
; ; display tools destination, size available and needed for ; user approval ; destination =+
ifstr(i) $(STF_INSTALL_MODE) == $(MinInteract) ifint $(DestVolumeFree) < $(MaxToolsSize) shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String8)$(MaxToolsSize)$(String10)$(String12) goto setupnotdone else goto mstooldirs endif endif
read-syms DestinationDlg$(STF_LANGUAGE) ui start "Destination" ifstr(i) $(DLGEVENT) == "NOTIFY"
ifstr(i) $(Combo1Out) != $(DestVolume) set ReInit = YES set DestVolume = $(Combo1Out) set DestVolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(DestVolume))) set MstoolsDir = $(DestVolume)$(MSTOOLS) else set ReInit = NO endif goto destination
else-ifstr(i) $(DLGEVENT) == "CONTINUE" set ReInit = NO LibraryProcedure IsFullPath, $(LIBHANDLE), CheckPathFullPathSpec $(EditTextOut) ifstr(i) $(IsFullPath) == "NO" shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String13)$(DestVolume)$(MSTOOLS) goto destination else GetDriveInPath Drive, $(EditTextOut) Ifcontains(i) $(Drive) in $(DestVolumeList) set DestVolume = $(Drive) set DestVolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(DestVolume))) set MstoolsDir = $(EditTextOut) else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String14) goto destination endif endif
ui pop 1 goto mstooldirs
else-ifstr(i) $(DLGEVENT) == "EXIT"
set ReInit = NO shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto destination endif else goto end endif
mstooldirs = +
LibraryProcedure MstoolsDir, $(LIBHANDLE), AppendBackSlash $(MstoolsDir) ; ; First find all the destination directories for the tools ;
set MstoolsPath = $(MstoolsDir)bin set MstoolsLib = $(MstoolsDir)lib set MstoolsInclude = $(MstoolsDir)h set MstoolsIncStrict = $(MstoolsDir)h\strict set MstoolsInit = $(MstoolsDir)init
set ToolsSamplesInclude = $(MstoolsDir)samples\inc
set MfcLib = $(MstoolsDir)mfc\lib set MfcInclude = $(MstoolsDir)mfc\include
; ; mstool install. ask user for options on mstool install. ;
mstools = + ifstr(i) $(STF_INSTALL_MODE) == $(MinInteract) goto mstoolsinstall endif
ifint $(DestVolumeFree) < $(MaxToolsSize) set DoToolsSamples = $(NotChosen) set DoToolsHelp = $(NotChosen) set DoMfc = $(NotChosen) set DoPosix = $(NotChosen) endif
set-sub FreeForOptional = $(DestVolumeFree) $(MinToolsSize) ifstr(i) $(FreeForOptional) == 0 shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String15) endif
read-syms MSToolsOptionsDlg$(STF_LANGUAGE) ui start "Options" ifstr(i) $(DLGEVENT) == "CONTINUE" set DoToolsSamples = *($(CheckItemsOut), 1) set DoToolsHelp = *($(CheckItemsOut), 2) set DoMfc = *($(CheckItemsOut), 3) set DoPosix = *($(CheckItemsOut), 4)
ui pop 1 goto mstoolsinstall else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto mstools endif else goto "end" endif
; ; build mstools copy list ;
mstoolsinstall =+ StartWait install Install-CopyToolsFiles EndWait
; ; Complete the copying of files added by other options. ; ; Alter the CFG/INI files as needed by the options. ; ; print information screen to restart ;
finish = +
; ; first copy all the files over ;
read-syms ProgressCopy$(STF_LANGUAGE) install Install-All-Files-Now ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_SUCCESS" goto mstoolsconfig else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String4) goto setupnotdone endif
StartWait
mstoolsconfig=+
; ; first initialize the variables which indicate whether new values are ; to be set for the variables or not ; ForListDo {Path, Lib, Include, Init} set FSet$($)Var = FALSE EndForListDo
; ; add the mfc variables if mfc chosen, posix is not set up ;
ifstr(i) $(DoMfc) == $(Chosen) ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(Mfc$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(Mfc$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo endif
ifstr(i) $(DoToolsSamples) == $(Chosen) ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(ToolsSamples$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(ToolsSamples$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo endif
; ; For the Path, Lib and Include variables see if we can prepend them ; onto the current variables ;
ForListDo {Path, Lib, Include, Init} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(Mstools$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(Mstools$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo
ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(MstoolsIncStrict)}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(MstoolsIncStrict) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo
; ; make cpu variable - STF_PLATFORM ; set FSetCpuVar = TRUE ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_I386) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), i386} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_MIPS) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), MIPS} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_Alpha) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), ALPHA} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_PPC) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), ppc} endif
; ; modify all the environment variables ;
ForListDo {Path, Lib, Include, Init, Cpu} ; ; if the variable to set the variable is set
ifstr(i) $(FSet$($)Var) == "TRUE" shell "" SetEnvironmentString $($($)EnvVar) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String7) endif endif EndForListDo
install Install-MSTools-Groups
setupdone=+ set Exit_Code = $(!SETUP_ERROR_SUCCESS) read-syms SetupDoneDlg$(STF_LANGUAGE) EndWait ui start "Done" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto end else goto end endif
setupnotdone=+ read-syms SetupNotDoneDlg$(STF_LANGUAGE) EndWait ui start "NotDone" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto end else goto end endif
end = + install FreeSetupLibrary exit
;***************************************************************** ; * ; INSTALLATION SUPPORT ROUTINES * ; * ;*****************************************************************
;----------------------------------------------------------------------- ; ROUTINE: QueryUserQuit ; ; DESCRIPTION: This routine queries whether the user wants to quit setup ; ; INPUTS: None ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL | ; STATUS_FAILED ; ; $R1: UserAction: OK | CANCEL ; ;------------------------------------------------------------------------
[QueryUserQuit]
set Status = STATUS_FAILED set UserAction = CANCEL
; ; read in quit message ; read-syms ExitWarningDlg$(!STF_LANGUAGE) ui start "ExitWarning" ifstr(i) $(DLGEVENT) == "YES" set Status = STATUS_SUCCESSFUL set UserAction = "OK"
else-ifstr(i) $(DLGEVENT) == "NO" set Status = STATUS_SUCCESSFUL set UserAction = "CANCEL" else endif
fin_QueryUserQuit = + Return $(Status) $(UserAction)
;----------------------------------------------------------------------- ; ROUTINE: PrependNewValueToEnvVar ; ; DESCRIPTION: Looks at the existing value of an environment variable ; and appends a new value if it is not already present ; ; INPUTS: $0: OldValueList ; $1: NewValue ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL ; STATUS_FAILED ; ; $R1: Changed? ; $R2: NewValueList ; ;------------------------------------------------------------------------
[PrependNewValueToEnvVar] ; set Status = STATUS_FAILED set NewValueList = {} set Changed = TRUE ; set Error = NO ForListDo $($0) ifstr(i) $(Error) == NO ifstr(i) $(Changed) == TRUE LibraryProcedure ExpandedValue, $(!LIBHANDLE), ExpandSz $($) ifstr(i) $(ExpandedValue) == "ERROR" set Error = YES else-ifstr(i) $(ExpandedValue) == $($1) set Changed = FALSE endif endif endif EndForListDo
ifstr(i) $(Error) == "YES" goto finish_append endif
set Status = STATUS_SUCCESSFUL ifstr(i) $(Changed) == TRUE set NewValueList = {$($1)} ForListDo $($0) set NewValueList = >($(NewValueList), $($)) EndForListDo endif
finish_append = + return $(Status) $(Changed) $(NewValueList)
;----------------------------------------------------------------------- ; ROUTINE: SetEnvironmentString ; ; DESCRIPTION: Set the value for a user environment string ; ; INPUTS: $0: VarList ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL ; STATUS_FAILED ; ; ;------------------------------------------------------------------------
[SetEnvironmentString] ; ; set Status = STATUS_FAILED
set Var = *($($0), 1) set VarTitle = *($($0), 2) set VarRegType = *($($0), 3) set VarValueList = *($($0), 4)
set VarValue = "" ForListDo $(VarValueList) ifstr(i) $(VarValue) != "" set VarValue = $(VarValue)";"$($) else set VarValue = $($) endif EndForListDo
LibraryProcedure STATUS, $(!LIBHANDLE), SetEnvVar USER $(Var) $(VarTitle) $(VarRegType) $(VarValue) ifstr(i) $(STATUS) == "ERROR" goto finish_setenvstr endif set Status = STATUS_SUCCESSFUL
finish_setenvstr = + Return $(Status)
;***************************************************************** ; * ; INSTALLATION SUPPORT ROUTINES * ; * ;*****************************************************************
[Install-MSTools-Groups]
set ToolsGroup = "Win32 Software Development Kit" CreateProgManGroup $(ToolsGroup) "" ShowProgManGroup $(ToolsGroup), 1
CreateProgmanItem $(ToolsGroup) , "Readme" "notepad "$(MstoolsDir)"readme.txt" "" 0 CreateProgmanItem $(ToolsGroup) , "M Editor" $(MstoolsPath)"\mep" "moricons.dll" 86 CreateProgmanItem $(ToolsGroup) , "Dialog Editor" $(MstoolsPath)"\dlgedit" "" 0 CreateProgmanItem $(ToolsGroup) , "Image Editor" $(MstoolsPath)"\imagedit" "" 0 CreateProgmanItem $(ToolsGroup) , "Spy" $(MstoolsPath)"\spy" "" 0 CreateProgmanItem $(ToolsGroup) , "DDESpy" $(MstoolsPath)"\ddespy" "" 0 CreateProgmanItem $(ToolsGroup) , "WinDbg" $(MstoolsPath)"\windbg" "" 0 CreateProgmanItem $(ToolsGroup) , "Zoom Utility" $(MstoolsPath)"\zoomin" "" 0 CreateProgmanItem $(ToolsGroup) , "Font Editor" $(MstoolsPath)"\fontedit" "" 0 CreateProgmanItem $(ToolsGroup) , "PView" $(MstoolsPath)"\pview" "" 0 CreateProgmanItem $(ToolsGroup) , "PortTool" $(MstoolsPath)"\porttool" "" 0 CreateProgmanItem $(ToolsGroup) , "PStat" $(MstoolsPath)"\pstat" "progman.exe" 40 CreateProgmanItem $(ToolsGroup) , "CPU Thermometer" $(MstoolsPath)"\cputherm" "" 0
ifstr(i) $(DoToolsHelp) == $(Chosen) CreateProgmanItem $(ToolsGroup) , "Win32 API Reference" "winhelp "$(MstoolsPath)"\api32wh.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "C Run-time Reference" "winhelp "$(MstoolsPath)"\msc.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "RPC Language Help" "winhelp "$(MstoolsPath)"\midl10wh.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "Samples Help" "winhelp "$(MstoolsPath)"\samples.hlp" "" 0 endif
ShowProgManGroup $(ToolsGroup), 6 exit
;************************************************************************ ; * ; MSTOOLS SUPPORT * ; * ;************************************************************************
[Install-CopyToolsFiles] set STF_VITAL = ""
; ; 1. MSTOOLS - always done
CreateDir $(MstoolsDir) CreateDir $(MstoolsInclude) CreateDir $(MstoolsInclude)\sys CreateDir $(MstoolsInclude)\strict CreateDir $(MstoolsPath) CreateDir $(MstoolsLib) CreateDir $(MstoolsInit)
AddSectionFilesToCopyList Files-mstools $(STF_SRCDIR)mstools $(MstoolsDir) AddSectionFilesToCopyList Files-mstools-bin-$(STF_PLATFORM) $(STF_SRCDIR)mstools\bin\$(STF_PLATFORM) $(MstoolsPath) AddSectionFilesToCopyList Files-mstools-h $(STF_SRCDIR)mstools\h $(MstoolsInclude) AddSectionFilesToCopyList Files-mstools-h-sys $(STF_SRCDIR)mstools\h\sys $(MstoolsInclude)\sys AddSectionFilesToCopyList Files-mstools-h-strict $(STF_SRCDIR)mstools\h\strict $(MstoolsInclude)\strict AddSectionFilesToCopyList Files-mstools-init $(STF_SRCDIR)mstools\init $(MstoolsInit) AddSectionFilesToCopyList Files-mstools-lib-$(STF_PLATFORM) $(STF_SRCDIR)mstools\lib\$(STF_PLATFORM) $(MstoolsLib)
; ; 2. Help files - conditional ;
ifstr(i) $(!DoToolsHelp) == $(!Chosen) AddSectionFilesToCopyList Files-mstools-help $(STF_SRCDIR)mstools\help $(MstoolsPath) endif
; ; 3. Mstools samples - conditional ;
ifstr(i) $(!DoToolsSamples) == $(!Chosen) set SampleList = { + cliptext ,+ comm ,+ console ,+ cursor ,+ deb ,+ filer ,+ fontview ,+ gdidemo ,+ generic ,+ getsys ,+ inc ,+ input ,+ mandel ,+ maskblt ,+ memory ,+ menu ,+ mfedit ,+ mltithrd ,+ multipad ,+ mypal ,+ npclient ,+ npserver ,+ ntfonts ,+ output ,+ owncombo ,+ pdc ,+ playit ,+ plgblt ,+ polydraw ,+ registry ,+ select ,+ showdib ,+ sidcln ,+ simple ,+ tls ,+ wxform ,+ rpc + }
; ; First copy all the files in the samples directory ;
CreateDir $(MstoolsDir)samples AddSectionFilesToCopyList Files-mstools-samples $(STF_SRCDIR)mstools\samples $(MstoolsDir)samples
; ; Then copy all the files in the various directories at the sample level ;
ForListDo $(SampleList) CreateDir $(MstoolsDir)samples\$($) AddSectionFilesToCopyList Files-mstools-samples-$($) $(STF_SRCDIR)mstools\samples\$($) $(MstoolsDir)samples\$($) EndForListDo
; ; Lastly handle ole, rpc & ddeml separately because this has multiple level subdirs ;
; 1. ole
CreateDir $(MstoolsDir)samples\ole CreateDir $(MstoolsDir)samples\ole\clidemo CreateDir $(MstoolsDir)samples\ole\srvrdemo
AddSectionFilesToCopyList Files-mstools-samples-ole-clidemo $(STF_SRCDIR)mstools\samples\ole\clidemo $(MstoolsDir)samples\ole\clidemo AddSectionFilesToCopyList Files-mstools-samples-ole-srvrdemo $(STF_SRCDIR)mstools\samples\ole\srvrdemo $(MstoolsDir)samples\ole\srvrdemo
; 2. ddeml
CreateDir $(MstoolsDir)samples\ddeml CreateDir $(MstoolsDir)samples\ddeml\client CreateDir $(MstoolsDir)samples\ddeml\clock CreateDir $(MstoolsDir)samples\ddeml\server
AddSectionFilesToCopyList Files-mstools-samples-ddeml-client $(STF_SRCDIR)mstools\samples\ddeml\client $(MstoolsDir)samples\ddeml\client AddSectionFilesToCopyList Files-mstools-samples-ddeml-clock $(STF_SRCDIR)mstools\samples\ddeml\clock $(MstoolsDir)samples\ddeml\clock AddSectionFilesToCopyList Files-mstools-samples-ddeml-server $(STF_SRCDIR)mstools\samples\ddeml\server $(MstoolsDir)samples\ddeml\server
; 3. rpc
CreateDir $(MstoolsDir)samples\rpc CreateDir $(MstoolsDir)samples\rpc\data CreateDir $(MstoolsDir)samples\rpc\data\dunion CreateDir $(MstoolsDir)samples\rpc\data\inout CreateDir $(MstoolsDir)samples\rpc\data\xmit CreateDir $(MstoolsDir)samples\rpc\doctor CreateDir $(MstoolsDir)samples\rpc\dict CreateDir $(MstoolsDir)samples\rpc\handles CreateDir $(MstoolsDir)samples\rpc\handles\auto CreateDir $(MstoolsDir)samples\rpc\handles\cxhndl CreateDir $(MstoolsDir)samples\rpc\handles\usrdef CreateDir $(MstoolsDir)samples\rpc\hello CreateDir $(MstoolsDir)samples\rpc\mandel CreateDir $(MstoolsDir)samples\rpc\whello
AddSectionFilesToCopyList Files-mstools-samples-rpc $(STF_SRCDIR)mstools\samples\rpc $(MstoolsDir)samples\rpc AddSectionFilesToCopyList Files-mstools-samples-rpc-data $(STF_SRCDIR)mstools\samples\rpc\data $(MstoolsDir)samples\rpc\data AddSectionFilesToCopyList Files-mstools-samples-rpc-data-dunion $(STF_SRCDIR)mstools\samples\rpc\data\dunion $(MstoolsDir)samples\rpc\data\dunion AddSectionFilesToCopyList Files-mstools-samples-rpc-data-inout $(STF_SRCDIR)mstools\samples\rpc\data\inout $(MstoolsDir)samples\rpc\data\inout AddSectionFilesToCopyList Files-mstools-samples-rpc-data-xmit $(STF_SRCDIR)mstools\samples\rpc\data\xmit $(MstoolsDir)samples\rpc\data\xmit AddSectionFilesToCopyList Files-mstools-samples-rpc-doctor $(STF_SRCDIR)mstools\samples\rpc\doctor $(MstoolsDir)samples\rpc\doctor AddSectionFilesToCopyList Files-mstools-samples-rpc-dict $(STF_SRCDIR)mstools\samples\rpc\dict $(MstoolsDir)samples\rpc\dict AddSectionFilesToCopyList Files-mstools-samples-rpc-handles $(STF_SRCDIR)mstools\samples\rpc\handles $(MstoolsDir)samples\rpc\handles AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-auto $(STF_SRCDIR)mstools\samples\rpc\handles\auto $(MstoolsDir)samples\rpc\handles\auto AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-cxhndl $(STF_SRCDIR)mstools\samples\rpc\handles\cxhndl $(MstoolsDir)samples\rpc\handles\cxhndl AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-usrdef $(STF_SRCDIR)mstools\samples\rpc\handles\usrdef $(MstoolsDir)samples\rpc\handles\usrdef AddSectionFilesToCopyList Files-mstools-samples-rpc-hello $(STF_SRCDIR)mstools\samples\rpc\hello $(MstoolsDir)samples\rpc\hello AddSectionFilesToCopyList Files-mstools-samples-rpc-mandel $(STF_SRCDIR)mstools\samples\rpc\mandel $(MstoolsDir)samples\rpc\mandel AddSectionFilesToCopyList Files-mstools-samples-rpc-whello $(STF_SRCDIR)mstools\samples\rpc\whello $(MstoolsDir)samples\rpc\whello
endif
; ; 4. Microsoft C++ - optional ;
ifstr(i) $(DoMfc) == $(Chosen)
CreateDir $(MstoolsDir)mfc CreateDir $(MfcInclude) CreateDir $(MfcLib) CreateDir $(MstoolsDir)mfc\doc CreateDir $(MstoolsDir)mfc\samples CreateDir $(MstoolsDir)mfc\samples\about2 CreateDir $(MstoolsDir)mfc\samples\chart CreateDir $(MstoolsDir)mfc\samples\ctrltest CreateDir $(MstoolsDir)mfc\samples\fileview CreateDir $(MstoolsDir)mfc\samples\hello CreateDir $(MstoolsDir)mfc\samples\helloapp CreateDir $(MstoolsDir)mfc\samples\mdi CreateDir $(MstoolsDir)mfc\samples\minmdi CreateDir $(MstoolsDir)mfc\samples\minsvr CreateDir $(MstoolsDir)mfc\samples\minsvrmi CreateDir $(MstoolsDir)mfc\samples\multipad CreateDir $(MstoolsDir)mfc\samples\oclient CreateDir $(MstoolsDir)mfc\samples\oserver CreateDir $(MstoolsDir)mfc\samples\restool CreateDir $(MstoolsDir)mfc\samples\showfont CreateDir $(MstoolsDir)mfc\samples\templdef CreateDir $(MstoolsDir)mfc\samples\tracer CreateDir $(MstoolsDir)mfc\samples\tutorial CreateDir $(MstoolsDir)mfc\samples\tutorial\char CreateDir $(MstoolsDir)mfc\samples\tutorial\win CreateDir $(MstoolsDir)mfc\src
AddSectionFilesToCopyList Files-mstools-mfc $(STF_SRCDIR)mstools\mfc $(MstoolsDir)mfc AddSectionFilesToCopyList Files-mstools-mfc-doc $(STF_SRCDIR)mstools\mfc\doc $(MstoolsDir)mfc\doc AddSectionFilesToCopyList Files-mstools-mfc-include $(STF_SRCDIR)mstools\mfc\include $(MfcInclude) AddSectionFilesToCopyList Files-mstools-mfc-lib-$(STF_PLATFORM) $(STF_SRCDIR)mstools\mfc\lib\$(STF_PLATFORM) $(MfcLib) AddSectionFilesToCopyList Files-mstools-mfc-samples $(STF_SRCDIR)mstools\mfc\samples $(MstoolsDir)mfc\samples AddSectionFilesToCopyList Files-mstools-mfc-samples-about2 $(STF_SRCDIR)mstools\mfc\samples\about2 $(MstoolsDir)mfc\samples\about2 AddSectionFilesToCopyList Files-mstools-mfc-samples-chart $(STF_SRCDIR)mstools\mfc\samples\chart $(MstoolsDir)mfc\samples\chart AddSectionFilesToCopyList Files-mstools-mfc-samples-ctrltest $(STF_SRCDIR)mstools\mfc\samples\ctrltest $(MstoolsDir)mfc\samples\ctrltest AddSectionFilesToCopyList Files-mstools-mfc-samples-fileview $(STF_SRCDIR)mstools\mfc\samples\fileview $(MstoolsDir)mfc\samples\fileview AddSectionFilesToCopyList Files-mstools-mfc-samples-hello $(STF_SRCDIR)mstools\mfc\samples\hello $(MstoolsDir)mfc\samples\hello AddSectionFilesToCopyList Files-mstools-mfc-samples-helloapp $(STF_SRCDIR)mstools\mfc\samples\helloapp $(MstoolsDir)mfc\samples\helloapp AddSectionFilesToCopyList Files-mstools-mfc-samples-mdi $(STF_SRCDIR)mstools\mfc\samples\mdi $(MstoolsDir)mfc\samples\mdi AddSectionFilesToCopyList Files-mstools-mfc-samples-minmdi $(STF_SRCDIR)mstools\mfc\samples\minmdi $(MstoolsDir)mfc\samples\minmdi AddSectionFilesToCopyList Files-mstools-mfc-samples-minsvr $(STF_SRCDIR)mstools\mfc\samples\minsvr $(MstoolsDir)mfc\samples\minsvr AddSectionFilesToCopyList Files-mstools-mfc-samples-minsvrmi $(STF_SRCDIR)mstools\mfc\samples\minsvrmi $(MstoolsDir)mfc\samples\minsvrmi AddSectionFilesToCopyList Files-mstools-mfc-samples-multipad $(STF_SRCDIR)mstools\mfc\samples\multipad $(MstoolsDir)mfc\samples\multipad AddSectionFilesToCopyList Files-mstools-mfc-samples-oclient $(STF_SRCDIR)mstools\mfc\samples\oclient $(MstoolsDir)mfc\samples\oclient AddSectionFilesToCopyList Files-mstools-mfc-samples-oserver $(STF_SRCDIR)mstools\mfc\samples\oserver $(MstoolsDir)mfc\samples\oserver AddSectionFilesToCopyList Files-mstools-mfc-samples-restool $(STF_SRCDIR)mstools\mfc\samples\restool $(MstoolsDir)mfc\samples\restool AddSectionFilesToCopyList Files-mstools-mfc-samples-showfont $(STF_SRCDIR)mstools\mfc\samples\showfont $(MstoolsDir)mfc\samples\showfont AddSectionFilesToCopyList Files-mstools-mfc-samples-templdef $(STF_SRCDIR)mstools\mfc\samples\templdef $(MstoolsDir)mfc\samples\templdef AddSectionFilesToCopyList Files-mstools-mfc-samples-tracer $(STF_SRCDIR)mstools\mfc\samples\tracer $(MstoolsDir)mfc\samples\tracer AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial $(STF_SRCDIR)mstools\mfc\samples\tutorial $(MstoolsDir)mfc\samples\tutorial AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial-char $(STF_SRCDIR)mstools\mfc\samples\tutorial\char $(MstoolsDir)mfc\samples\tutorial\char AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial-win $(STF_SRCDIR)mstools\mfc\samples\tutorial\win $(MstoolsDir)mfc\samples\tutorial\win AddSectionFilesToCopyList Files-mstools-mfc-src $(STF_SRCDIR)mstools\mfc\src $(MstoolsDir)mfc\src
endif
; ; 5. Microsoft mstools posix - optional ;
ifstr(i) $(DoPosix) == $(Chosen) endif
exit
[Install-All-Files-Now] CopyFilesInCopyList exit
|