diff options
Diffstat (limited to 'InstallShield/Script Files')
-rw-r--r-- | InstallShield/Script Files/Setup.Inx | bin | 0 -> 3931 bytes | |||
-rw-r--r-- | InstallShield/Script Files/Setup.Obs | bin | 0 -> 132 bytes | |||
-rw-r--r-- | InstallShield/Script Files/Setup.dbg | bin | 0 -> 2960 bytes | |||
-rw-r--r-- | InstallShield/Script Files/Setup.ino | bin | 0 -> 4350 bytes | |||
-rw-r--r-- | InstallShield/Script Files/Setup.ins | bin | 0 -> 5413 bytes | |||
-rw-r--r-- | InstallShield/Script Files/Setup.map | 574 | ||||
-rw-r--r-- | InstallShield/Script Files/setup.rul | 950 |
7 files changed, 1524 insertions, 0 deletions
diff --git a/InstallShield/Script Files/Setup.Inx b/InstallShield/Script Files/Setup.Inx Binary files differnew file mode 100644 index 0000000000..4aef7fa618 --- /dev/null +++ b/InstallShield/Script Files/Setup.Inx diff --git a/InstallShield/Script Files/Setup.Obs b/InstallShield/Script Files/Setup.Obs Binary files differnew file mode 100644 index 0000000000..53425bdaea --- /dev/null +++ b/InstallShield/Script Files/Setup.Obs diff --git a/InstallShield/Script Files/Setup.dbg b/InstallShield/Script Files/Setup.dbg Binary files differnew file mode 100644 index 0000000000..7c86870878 --- /dev/null +++ b/InstallShield/Script Files/Setup.dbg diff --git a/InstallShield/Script Files/Setup.ino b/InstallShield/Script Files/Setup.ino Binary files differnew file mode 100644 index 0000000000..421984ed6b --- /dev/null +++ b/InstallShield/Script Files/Setup.ino diff --git a/InstallShield/Script Files/Setup.ins b/InstallShield/Script Files/Setup.ins Binary files differnew file mode 100644 index 0000000000..156a8eecdc --- /dev/null +++ b/InstallShield/Script Files/Setup.ins diff --git a/InstallShield/Script Files/Setup.map b/InstallShield/Script Files/Setup.map new file mode 100644 index 0000000000..3039284bcd --- /dev/null +++ b/InstallShield/Script Files/Setup.map @@ -0,0 +1,574 @@ +***** External Functions ***** +1 CloseFile isrt.obl(Files.obs) +2 CmdGetHwndDlg isrt.obl(CustomDlg.obs) +3 CommitSharedFiles isrt.obl(Misc.obs) +4 ComponentCompareSizeRequired isrt.obl(component.obs) +5 ComponentError isrt.obl(component.obs) +6 ComponentErrorInfo isrt.obl(component.obs) +7 ComponentFilterLanguage isrt.obl(component.obs) +8 ComponentFilterOS isrt.obl(component.obs) +9 ComponentGetData isrt.obl(component.obs) +10 ComponentGetTotalCost isrt.obl(component.obs) +11 ComponentIsItemSelected isrt.obl(component.obs) +12 ComponentListItems isrt.obl(component.obs) +13 ComponentMoveData isrt.obl(component.obs) +14 ComponentReinstall isrt.obl(component.obs) +15 ComponentRemoveAll isrt.obl(component.obs) +16 ComponentSaveTarget isrt.obl(component.obs) +17 ComponentSelectItem isrt.obl(component.obs) +18 ComponentSetTarget isrt.obl(component.obs) +19 ComponentSetupTypeSet isrt.obl(component.obs) +20 ComponentTransferData isrt.obl(component.obs) +21 ComponentTreeInit isrt.obl(Dialogs.obs) +22 ComponentViewCreate isrt.obl(CmptView.obs) +23 CopyFile isrt.obl(Files.obs) +24 CreateDir isrt.obl(Files.obs) +25 CreateFile isrt.obl(Files.obs) +26 CreateInstallationInfo isrt.obl(Registry.obs) +27 CreateRegistrySet isrt.obl(component.obs) +28 CreateShellObjects isrt.obl(component.obs) +29 CtrlGetCurSel isrt.obl(CustomDlg.obs) +30 CtrlGetNotificationCode isrt.obl(CustomDlg.obs) +31 CtrlGetState isrt.obl(CustomDlg.obs) +32 CtrlGetText isrt.obl(CustomDlg.obs) +33 CtrlPGroups isrt.obl(CustomDlg.obs) +34 CtrlSelectText isrt.obl(CustomDlg.obs) +35 CtrlSetCurSel isrt.obl(CustomDlg.obs) +36 CtrlSetList isrt.obl(CustomDlg.obs) +37 CtrlSetMLEText isrt.obl(CustomDlg.obs) +38 CtrlSetState isrt.obl(CustomDlg.obs) +39 CtrlSetText isrt.obl(CustomDlg.obs) +40 DefineDialog isrt.obl(CustomDlg.obs) +41 DeinstallStart isrt.obl(Registry.obs) +42 Delay isrt.obl(Misc.obs) +43 DeleteFile isrt.obl(Files.obs) +44 DialogSetDefaultFont isrt.obl(Dialogs.obs) +45 DialogSetFont isrt.obl(Dialogs.obs) +46 DialogSetInfo isrt.obl(Dialogs.obs) +47 Disable isrt.obl(Enable.obs) +48 DiskSizeToStr isrt.obl(SDINT.obs) +49 Divide isrt.obl(Misc.obs) +50 DllSizeOf isrt.obl(Str.obs) +51 Do isrt.obl(Misc.obs) +52 Enable isrt.obl(Enable.obs) +53 EndDialog isrt.obl(CustomDlg.obs) +54 EnterDisk isrt.obl(EnterDisk.obs) +55 ExistsDir isrt.obl(Files.obs) +56 ExistsDisk isrt.obl(Files.obs) +57 EzDefineDialog isrt.obl(CustomDlg.obs) +58 FinalConstruct ifx.obl(Events.obs) +59 FinalRelease ifx.obl(Events.obs) +60 FindFile isrt.obl(Files.obs) +61 FormatMessage isrt.obl(Misc.obs) +62 GDI32.CreateRectRgn isrt.obl(AskDestPath.obs) +63 GDI32.GetDeviceCaps isrt.obl(AskDestPath.obs) +64 GetBillboard isrt.obl(SysVars.obs) +65 GetDialogTitle isrt.obl(Dialogs.obs) +66 GetDir isrt.obl(Str.obs) +67 GetDisk isrt.obl(Str.obs) +68 GetDiskSpace isrt.obl(GSI.obs) +69 GetDiskSpaceEx isrt.obl(GSI.obs) +70 GetErrorMsg isrt.obl(Dialogs.obs) +71 GetErrorTitle isrt.obl(Dialogs.obs) +72 GetExtents isrt.obl(GSI.obs) +73 GetFolderNameList isrt.obl(Shell.obs) +74 GetFolderPrograms isrt.obl(SysVars.obs) +75 GetISRes isrt.obl(SysVars.obs) +76 GetLine isrt.obl(Files.obs) +77 GetLog isrt.obl(SysVars.obs) +78 GetMaintenance isrt.obl(SysVars.obs) +79 GetOpenFileMode isrt.obl(Files.obs) +80 GetProductGUID isrt.obl(SysVars.obs) +81 GetProfString isrt.obl(Profile.obs) +82 GetProgramFiles isrt.obl(SysVars.obs) +83 GetSelectedLanguage isrt.obl(SysVars.obs) +84 GetSelectedTreeComponent isrt.obl(CmptView.obs) +85 GetSupportDir isrt.obl(SysVars.obs) +86 GetSystemInfo isrt.obl(GSI.obs) +87 GetWinDir isrt.obl(SysVars.obs) +88 GetWinSysDir isrt.obl(SysVars.obs) +89 GetWindowHandle isrt.obl(Misc.obs) +90 HIWORD isrt.obl(Misc.obs) +91 HexStrToNum isrt.obl(Str.obs) +92 ISDeterminePlatform isrt.obl(OsInfo.obs) +93 ISMIF32.InstallStatusMIF isrt.obl(MIF.obs) +94 ISRT.ComponentViewCreateWindow isrt.obl(CmptView.obs) +95 ISRT.ComponentViewDestroy isrt.obl(CmptView.obs) +96 ISRT.ComponentViewRefresh isrt.obl(CmptView.obs) +97 ISRT.ComponentViewSetInfo isrt.obl(CmptView.obs) +98 ISRT.ComponentViewSetInfoEx isrt.obl(Dialogs.obs) +99 ISRT.EnableHourGlass isrt.obl(Enable.obs) +100 ISRT.EnumFoldersItems isrt.obl(Shell.obs) +101 ISRT.GetCPUType isrt.obl(GSI.obs) +102 ISRT.GetFontSub isrt.obl(Dialogs.obs) +103 ISRT.GetHandle Setup.Obs +104 ISRT.GetPorts isrt.obl(GSI.obs) +105 ISRT.IsEmpty Setup.Obs +106 ISRT.IsNTAdmin isrt.obl(Is.obs) +107 ISRT.IsObject Setup.Obs +108 ISRT.LangLoadString isrt.obl(SDINT.obs) +109 ISRT.MessageBeepP Setup.Obs +110 ISRT.PathCompactPathPixel isrt.obl(CustomDlg.obs) +111 ISRT.PathGetDir isrt.obl(Str.obs) +112 ISRT.PathGetDrive isrt.obl(Str.obs) +113 ISRT.PathGetFile isrt.obl(Str.obs) +114 ISRT.PathGetFileExt isrt.obl(Str.obs) +115 ISRT.PathGetFileName isrt.obl(Str.obs) +116 ISRT.PathGetPath isrt.obl(Str.obs) +117 ISRT.PathGetSpecialFolder isrt.obl(SysVars.obs) +118 ISRT.PathIsValidSyntax isrt.obl(Is.obs) +119 ISRT._BrowseForFolder isrt.obl(SelectDir.obs) +120 ISRT._CleanupInet isrt.obl(MIO.obs) +121 ISRT._CloseFile isrt.obl(Files.obs) +122 ISRT._CmdGetHwndDlg isrt.obl(CustomDlg.obs) +123 ISRT._ComponentCompareSizeRequired isrt.obl(component.obs) +124 ISRT._ComponentError isrt.obl(component.obs) +125 ISRT._ComponentErrorInfo isrt.obl(component.obs) +126 ISRT._ComponentFilterLanguage isrt.obl(component.obs) +127 ISRT._ComponentFilterOS isrt.obl(component.obs) +128 ISRT._ComponentGetData isrt.obl(component.obs) +129 ISRT._ComponentGetTotalCost isrt.obl(component.obs) +130 ISRT._ComponentIsItemSelected isrt.obl(component.obs) +131 ISRT._ComponentListItems isrt.obl(component.obs) +132 ISRT._ComponentMoveData isrt.obl(component.obs) +133 ISRT._ComponentReinstall isrt.obl(component.obs) +134 ISRT._ComponentRemoveAll isrt.obl(component.obs) +135 ISRT._ComponentSaveTarget isrt.obl(component.obs) +136 ISRT._ComponentSelectItem isrt.obl(component.obs) +137 ISRT._ComponentSetupTypeSet isrt.obl(component.obs) +138 ISRT._ComponentTransferData isrt.obl(component.obs) +139 ISRT._ComponentViewCreate isrt.obl(CmptView.obs) +140 ISRT._CreateDir isrt.obl(Files.obs) +141 ISRT._CreateRegistrySet isrt.obl(component.obs) +142 ISRT._CreateShellObjects isrt.obl(component.obs) +143 ISRT._CtrlGetNotificationCode isrt.obl(CustomDlg.obs) +144 ISRT._DefineDialog isrt.obl(CustomDlg.obs) +145 ISRT._DialogSetFont isrt.obl(Dialogs.obs) +146 ISRT._DisableStatus isrt.obl(Enable.obs) +147 ISRT._Divide isrt.obl(Misc.obs) +148 ISRT._DoSprintf isrt.obl(MsgBox.obs) +149 ISRT._EnableDialogCache isrt.obl(Enable.obs) +150 ISRT._EnablePrevDialog isrt.obl(AskDestPath.obs) +151 ISRT._EnableStatus isrt.obl(Enable.obs) +152 ISRT._EndDialog isrt.obl(CustomDlg.obs) +153 ISRT._ExistsDir isrt.obl(Files.obs) +154 ISRT._ExistsDisk isrt.obl(Files.obs) +155 ISRT._ExistsFile isrt.obl(Files.obs) +156 ISRT._FileCopy isrt.obl(Files.obs) +157 ISRT._GetDiskSpaceEx isrt.obl(GSI.obs) +158 ISRT._GetLine isrt.obl(Files.obs) +159 ISRT._GetSelectedTreeComponent isrt.obl(CmptView.obs) +160 ISRT._GetSupportDir isrt.obl(SysVars.obs) +161 ISRT._InetEndofTransfer isrt.obl(iftw.obs) +162 ISRT._InetGetLastError isrt.obl(iftw.obs) +163 ISRT._InetGetNextDisk isrt.obl(iftw.obs) +164 ISRT._ListAddItem isrt.obl(scrlist.obs) +165 ISRT._ListAddString isrt.obl(scrlist.obs) +166 ISRT._ListCount isrt.obl(scrlist.obs) +167 ISRT._ListCreate isrt.obl(scrlist.obs) +168 ISRT._ListCurrentString isrt.obl(scrlist.obs) +169 ISRT._ListDeleteString isrt.obl(scrlist.obs) +170 ISRT._ListDestroy isrt.obl(scrlist.obs) +171 ISRT._ListFindString isrt.obl(scrlist.obs) +172 ISRT._ListGetFirstItem isrt.obl(scrlist.obs) +173 ISRT._ListGetFirstString isrt.obl(scrlist.obs) +174 ISRT._ListGetNextItem isrt.obl(scrlist.obs) +175 ISRT._ListGetNextString isrt.obl(scrlist.obs) +176 ISRT._ListGetType isrt.obl(scrlist.obs) +177 ISRT._ListReadFromFile isrt.obl(scrlist.obs) +178 ISRT._ListSetIndex isrt.obl(scrlist.obs) +179 ISRT._OpenFile isrt.obl(Files.obs) +180 ISRT._Rebooted Setup.Obs +181 ISRT._RegCreateKey isrt.obl(Registry.obs) +182 ISRT._RegExistsKey isrt.obl(Registry.obs) +183 ISRT._RegQueryKeyBinaryValue isrt.obl(Registry.obs) +184 ISRT._RegQueryKeyValue isrt.obl(Registry.obs) +185 ISRT._RegSetKeyBinaryValue isrt.obl(Registry.obs) +186 ISRT._RegSetKeyValue isrt.obl(Registry.obs) +187 ISRT._ReleaseDialog isrt.obl(CustomDlg.obs) +188 ISRT._SetAltMainImage isrt.obl(Dialogs.obs) +189 ISRT._SetColor isrt.obl(ui.obs) +190 ISRT._SetDisplayEffect isrt.obl(ui.obs) +191 ISRT._SetPaletteFile isrt.obl(MIO.obs) +192 ISRT._SetTitle isrt.obl(ui.obs) +193 ISRT._SetupInet isrt.obl(MIO.obs) +194 ISRT._ShowObjWizardPages isrt.obl(Objects.obs) +195 ISRT._StatusUpdate isrt.obl(ui.obs) +196 ISRT._TreeViewCreate isrt.obl(CmptView.obs) +197 ISRT._WaitOnDialog isrt.obl(CustomDlg.obs) +198 ISRT._WriteLine isrt.obl(Files.obs) +199 ISRT.__CreateObjectContext isrt.obl(ISRTInit.obs) +200 ISRT.__GetCmdLineOptions isrt.obl(ISRTInit.obs) +201 ISRT.__GetContextGUID isrt.obl(ISRTInit.obs) +202 ISRT.__GetFileRegistrar isrt.obl(ISRTInit.obs) +203 ISRT.__GetInfo isrt.obl(ISRTInit.obs) +204 ISRT.__GetLog isrt.obl(SysVars.obs) +205 ISRT.__GetLogDB isrt.obl(ISRTInit.obs) +206 ISRT.__GetMainWindow Setup.Obs +207 ISRT.__GetMaintenanceMode isrt.obl(SysVars.obs) +208 ISRT.__GetProductGuid isrt.obl(SysVars.obs) +209 ISRT.__GetProgress Setup.Obs +210 ISRT.__GetReboot isrt.obl(ISRTInit.obs) +211 ISRT.__GetTextSub isrt.obl(ISRTInit.obs) +212 ISRT.__GetUser isrt.obl(MIO.obs) +213 ISRT.__ISRTGetPropertyBag ifx.obl(PersistPropertyBag.obs) +214 ISRT.__ISRTReleasePropertyBag ifx.obl(PersistPropertyBag.obs) +215 ISRT.__LoadString isrt.obl(LoadStr.obs) +216 ISRT.__ReleaseObjectContext isrt.obl(ISRTInit.obs) +217 ISRT.__RestoreMainLog isrt.obl(ISRTInit.obs) +218 ISRT.__SetComponentLog isrt.obl(ISRTInit.obs) +219 IfxFilterComponents ifx.obl(MoveData.obs) +220 IfxFinalConstruct ifx.obl(EventsMIO.obs) +221 IfxFinalRelease ifx.obl(EventsMIO.obs) +222 IfxInitProperties ifx.obl(PersistPropertyBag.obs) +223 IfxMoveFileData ifx.obl(MoveData.obs) +224 IfxOnAbortInstall ifx.obl(Events.obs) +225 IfxOnAppSearch ifx.obl(Events.obs) +226 IfxOnCCPSearch ifx.obl(Events.obs) +227 IfxOnCanceling ifx.obl(Events.obs) +228 IfxOnDisk1Installed ifx.obl(EventsMIO.obs) +229 IfxOnDisk1Installing ifx.obl(EventsMIO.obs) +230 IfxOnExitInstall ifx.obl(EventsMIO.obs) +231 IfxOnFileError ifx.obl(Exceptions.obs) +232 IfxOnFileLocked ifx.obl(Exceptions.obs) +233 IfxOnFileReadOnly ifx.obl(Exceptions.obs) +234 IfxOnHelp ifx.obl(Events.obs) +235 IfxOnInitInstall ifx.obl(EventsMIO.obs) +236 IfxOnInternetError ifx.obl(Exceptions.obs) +237 IfxOnMD5Error ifx.obl(Exceptions.obs) +238 IfxOnNextDisk ifx.obl(Exceptions.obs) +239 IfxOnRebooted ifx.obl(Events.obs) +240 IfxOnRemovingSharedFile ifx.obl(Exceptions.obs) +241 IfxOnShowWizardPages ifx.obl(UserInterfaceMIO.obs) +242 IfxOnTransferred ifx.obl(Events.obs) +243 IfxOnTransferring ifx.obl(EventsMIO.obs) +244 IfxOnUnhandledException ifx.obl(Events.obs) +245 IfxReadProperties ifx.obl(PersistPropertyBag.obs) +246 IfxRunAfterReboot ifx.obl(Driver.obs) +247 IfxWriteProperties ifx.obl(PersistPropertyBag.obs) +248 InetEndofTransfer isrt.obl(iftw.obs) +249 InetErrorDisplayMode isrt.obl(iftw.obs) +250 InetGetLastError isrt.obl(iftw.obs) +251 InetNextDisk isrt.obl(iftw.obs) +252 InitProperties ifx.obl(PersistPropertyBag.obs) +253 InstallationInfo isrt.obl(Registry.obs) +254 Is isrt.obl(Is.obs) +255 IsInetInstall isrt.obl(iftw.obs) +256 KERNEL.GetModuleHandle Setup.Obs +257 KERNEL32.CloseHandle isrt.obl(AskDestPath.obs) +258 KERNEL32.CreateFileA isrt.obl(AskDestPath.obs) +259 KERNEL32.DeleteFileA isrt.obl(AskDestPath.obs) +260 KERNEL32.FileTimeToLocalFileTime isrt.obl(AskDestPath.obs) +261 KERNEL32.FileTimeToSystemTime isrt.obl(AskDestPath.obs) +262 KERNEL32.FindClose isrt.obl(AskDestPath.obs) +263 KERNEL32.FindFirstFileA isrt.obl(AskDestPath.obs) +264 KERNEL32.FindNextFileA isrt.obl(AskDestPath.obs) +265 KERNEL32.FormatMessageA isrt.obl(AskDestPath.obs) +266 KERNEL32.GetDriveType isrt.obl(AskDestPath.obs) +267 KERNEL32.GetFileAttributesA isrt.obl(AskDestPath.obs) +268 KERNEL32.GetFileTime isrt.obl(AskDestPath.obs) +269 KERNEL32.GetLocalTime isrt.obl(AskDestPath.obs) +270 KERNEL32.GetLocaleInfo isrt.obl(AskDestPath.obs) +271 KERNEL32.GetPrivateProfileString isrt.obl(AskDestPath.obs) +272 KERNEL32.GetPrivateProfileStringA isrt.obl(AskDestPath.obs) +273 KERNEL32.GetProfileStringA isrt.obl(AskDestPath.obs) +274 KERNEL32.GetSystemDefaultLCID isrt.obl(AskDestPath.obs) +275 KERNEL32.GetUserDefaultLangID isrt.obl(AskDestPath.obs) +276 KERNEL32.GetVersion isrt.obl(AskDestPath.obs) +277 KERNEL32.GetVersionEx isrt.obl(AskDestPath.obs) +278 KERNEL32.GetVolumeInformation isrt.obl(AskDestPath.obs) +279 KERNEL32.GetWindowsDirectory isrt.obl(AskDestPath.obs) +280 KERNEL32.GlobalMemoryStatus isrt.obl(AskDestPath.obs) +281 KERNEL32.LocalFileTimeToFileTime isrt.obl(AskDestPath.obs) +282 KERNEL32.MoveFileA isrt.obl(AskDestPath.obs) +283 KERNEL32.SetFileAttributesA isrt.obl(AskDestPath.obs) +284 KERNEL32.SetFileTime isrt.obl(AskDestPath.obs) +285 KERNEL32.Sleep isrt.obl(AskDestPath.obs) +286 KERNEL32.SystemTimeToFileTime isrt.obl(AskDestPath.obs) +287 KERNEL32.WritePrivateProfileString isrt.obl(AskDestPath.obs) +288 KERNEL32.WritePrivateProfileStringA isrt.obl(AskDestPath.obs) +289 KERNEL32.WriteProfileStringA isrt.obl(AskDestPath.obs) +290 KERNEL32.lstrlen isrt.obl(AskDestPath.obs) +291 LOWORD isrt.obl(Misc.obs) +292 ListAddItem isrt.obl(scrlist.obs) +293 ListAddString isrt.obl(scrlist.obs) +294 ListCount isrt.obl(scrlist.obs) +295 ListCreate isrt.obl(scrlist.obs) +296 ListCurrentString isrt.obl(scrlist.obs) +297 ListDeleteString isrt.obl(scrlist.obs) +298 ListDestroy isrt.obl(scrlist.obs) +299 ListFindString isrt.obl(scrlist.obs) +300 ListGetFirstItem isrt.obl(scrlist.obs) +301 ListGetFirstString isrt.obl(scrlist.obs) +302 ListGetNextItem isrt.obl(scrlist.obs) +303 ListGetNextString isrt.obl(scrlist.obs) +304 ListGetType isrt.obl(scrlist.obs) +305 ListReadFromFile isrt.obl(scrlist.obs) +306 ListSetIndex isrt.obl(scrlist.obs) +307 LongPathToQuote isrt.obl(Str.obs) +308 MAKELONG isrt.obl(Misc.obs) +309 MIFCreateMIFFile isrt.obl(MIF.obs) +310 MIFDeleteMIFFile isrt.obl(MIF.obs) +311 MIFInitialize isrt.obl(MIF.obs) +312 MIFSetInformation isrt.obl(MIF.obs) +313 MIFUnInitialize isrt.obl(MIF.obs) +314 MIFWasSetInformationCalled isrt.obl(MIF.obs) +315 MIOShutdown isrt.obl(MIO.obs) +316 MIOStartup isrt.obl(MIO.obs) +317 MaintenanceStart isrt.obl(Registry.obs) +318 MessageBeep isrt.obl(Misc.obs) +319 MessageBox isrt.obl(MsgBox.obs) +320 OnAbort ifx.obl(Events.obs) +321 OnAppSearch ifx.obl(Events.obs) +322 OnBegin ifx.obl(Events.obs) +323 OnCCPSearch ifx.obl(Events.obs) +324 OnCanceling ifx.obl(EventsMIO.obs) +325 OnComponentError ifx.obl(Exceptions.obs) +326 OnEnd ifx.obl(Events.obs) +327 OnFileError ifx.obl(Exceptions.obs) +328 OnFileLocked ifx.obl(Exceptions.obs) +329 OnFileReadOnly ifx.obl(Exceptions.obs) +330 OnFirstUIAfter ifx.obl(UserInterfaceMIO.obs) +331 OnFirstUIBefore ifx.obl(UserInterfaceMIO.obs) +332 OnHelp ifx.obl(Events.obs) +333 OnInternetError ifx.obl(Exceptions.obs) +334 OnMD5Error ifx.obl(Exceptions.obs) +335 OnMaintUIAfter ifx.obl(UserInterfaceMIO.obs) +336 OnMaintUIBefore ifx.obl(UserInterfaceMIO.obs) +337 OnMoved ifx.obl(Events.obs) +338 OnMoving ifx.obl(Events.obs) +339 OnNextDisk ifx.obl(Exceptions.obs) +340 OnRebooted ifx.obl(Events.obs) +341 OnRemovingSharedFile ifx.obl(Exceptions.obs) +342 OnSelfRegistrationError ifx.obl(Events.obs) +343 OnUnhandledException ifx.obl(Events.obs) +344 OpenFile isrt.obl(Files.obs) +345 OpenFileMode isrt.obl(Files.obs) +346 ParsePath isrt.obl(Str.obs) +347 ProgDefGroupType isrt.obl(Shell.obs) +348 ProgGetGroupType isrt.obl(Shell.obs) +349 PthFixPath isrt.obl(Pth.obs) +350 PthIsAbsPath isrt.obl(Pth.obs) +351 ReadProperties ifx.obl(PersistPropertyBag.obs) +352 Rebooted isrt.obl(Driver.obs) +353 RegDBCreateKeyEx isrt.obl(Registry.obs) +354 RegDBGetKeyValueEx isrt.obl(Registry.obs) +355 RegDBInit isrt.obl(Registry.obs) +356 RegDBKeyExist isrt.obl(Registry.obs) +357 RegDBQueryValue isrt.obl(Registry.obs) +358 RegDBSetDefaultRoot isrt.obl(Registry.obs) +359 RegDBSetItem isrt.obl(Registry.obs) +360 RegDBSetKeyValueEx isrt.obl(Registry.obs) +361 RegDBSetValue isrt.obl(Registry.obs) +362 ReleaseDialog isrt.obl(CustomDlg.obs) +363 RenameFile isrt.obl(Files.obs) +364 SdAskDestPath isrt.obl(SDADPATH.obs) +365 SdCloseDlg isrt.obl(SDINT.obs) +366 SdComponentDialog2 isrt.obl(SDCOMDL2.obs) +367 SdComponentDlgCheckSpace isrt.obl(SDINT.obs) +368 SdComponentTree isrt.obl(SDCOMTREE.obs) +369 SdCreateComponentView isrt.obl(SDINT.obs) +370 SdDlgToTop isrt.obl(SDINT.obs) +371 SdDoStdButton isrt.obl(SDINT.obs) +372 SdEnablement isrt.obl(SDINT.obs) +373 SdError isrt.obl(SDINT.obs) +374 SdExceptions isrt.obl(SdExceptions.obs) +375 SdFinish isrt.obl(SDFINISH.obs) +376 SdFinishEx isrt.obl(SdFinishEx.obs) +377 SdFinishReboot isrt.obl(SDFINBOT.obs) +378 SdGeneralInit isrt.obl(SDINT.obs) +379 SdInit isrt.obl(SDINT.obs) +380 SdIsShellExplorer isrt.obl(SDINT.obs) +381 SdIsStdButton isrt.obl(SDINT.obs) +382 SdLoadString isrt.obl(SDINT.obs) +383 SdMakeName isrt.obl(SDINT.obs) +384 SdPlugInProductName isrt.obl(SDINT.obs) +385 SdProductName isrt.obl(SDPRODCT.obs) +386 SdRemoveEndSpace isrt.obl(SDINT.obs) +387 SdSelectFolder isrt.obl(SDSFDR.obs) +388 SdSetDlgTitle isrt.obl(SDINT.obs) +389 SdSetStatic isrt.obl(SDINT.obs) +390 SdShowInfoList isrt.obl(SDSINFOL.obs) +391 SdStartCopy isrt.obl(SDSCOPY.obs) +392 SdUnInit isrt.obl(SDINT.obs) +393 SdVerifyFolder isrt.obl(SDINT.obs) +394 SdWelcome isrt.obl(SDWEL.obs) +395 SdWelcomeMaint isrt.obl(SdWelcomeMaint.obs) +396 SelectDir isrt.obl(SelectDir.obs) +397 SelectDirNoLog isrt.obl(SelectDir.obs) +398 SendMessage isrt.obl(Misc.obs) +399 SetCmdLine isrt.obl(SysVars.obs) +400 SetColor isrt.obl(ui.obs) +401 SetDialogTitle isrt.obl(Dialogs.obs) +402 SetDisplayEffect isrt.obl(ui.obs) +403 SetFileInfo isrt.obl(Files.obs) +404 SetFolderDesktop isrt.obl(SysVars.obs) +405 SetFolderPrograms isrt.obl(SysVars.obs) +406 SetFolderStartMenu isrt.obl(SysVars.obs) +407 SetFolderStartup isrt.obl(SysVars.obs) +408 SetInstallationInfo isrt.obl(Registry.obs) +409 SetStatusWindow isrt.obl(ui.obs) +410 SetTitle isrt.obl(ui.obs) +411 SetupType isrt.obl(SetupType.obs) +412 ShowObjWizardPages isrt.obl(Objects.obs) +413 SilentCreateFile isrt.obl(Silent.obs) +414 SilentDoGeneralInfo isrt.obl(Silent.obs) +415 SilentFailed isrt.obl(Silent.obs) +416 SilentFinish isrt.obl(Silent.obs) +417 SilentGetMode isrt.obl(Silent.obs) +418 SilentInit isrt.obl(Silent.obs) +419 SilentLogWriteData isrt.obl(Silent.obs) +420 SilentReadData isrt.obl(Silent.obs) +421 SilentSetInfo isrt.obl(Silent.obs) +422 SilentSetMode isrt.obl(Silent.obs) +423 SilentWriteData isrt.obl(Silent.obs) +424 Sprintf isrt.obl(Str.obs) +425 SprintfBox isrt.obl(MsgBox.obs) +426 StatusUpdate isrt.obl(ui.obs) +427 StrGetTokens isrt.obl(Str.obs) +428 StrLength isrt.obl(Str.obs) +429 StrRemoveLastSlash isrt.obl(Str.obs) +430 StrRemoveSpaces isrt.obl(Str.obs) +431 StrToUpper isrt.obl(Str.obs) +432 SysVarsInit isrt.obl(SysVars.obs) +433 SysVarsUnInit isrt.obl(SysVars.obs) +434 System isrt.obl(Misc.obs) +435 TreeViewCreate isrt.obl(CmptView.obs) +436 USER.EnableWindow Setup.Obs +437 USER.GetClassName Setup.Obs +438 USER.GetClientRect Setup.Obs +439 USER.GetDC Setup.Obs +440 USER.GetDlgItem Setup.Obs +441 USER.GetFocus Setup.Obs +442 USER.GetWindowLong Setup.Obs +443 USER.GetWindowRect Setup.Obs +444 USER.IsIconic Setup.Obs +445 USER.IsWindow Setup.Obs +446 USER.IsWindowVisible isrt.obl(AskDestPath.obs) +447 USER.MoveWindow Setup.Obs +448 USER.ReleaseDC Setup.Obs +449 USER.SendMessageA isrt.obl(AskDestPath.obs) +450 USER.SetFocus Setup.Obs +451 USER.SetForegroundWindow isrt.obl(AskDestPath.obs) +452 USER.SetWindowPos Setup.Obs +453 USER.SetWindowText Setup.Obs +454 USER.ShowWindow Setup.Obs +455 USER32.CharUpperBuffA isrt.obl(AskDestPath.obs) +456 USER32.DrawText isrt.obl(AskDestPath.obs) +457 USER32.GetDesktopWindow isrt.obl(AskDestPath.obs) +458 USER32.GetSystemMetrics isrt.obl(AskDestPath.obs) +459 USER32.GetWindowText isrt.obl(AskDestPath.obs) +460 USER32.GetWindowTextLength isrt.obl(AskDestPath.obs) +461 USER32.MessageBoxA isrt.obl(AskDestPath.obs) +462 USER32.ScreenToClient isrt.obl(AskDestPath.obs) +463 USER32.SendMessageA isrt.obl(AskDestPath.obs) +464 USER32.SetWindowLong isrt.obl(AskDestPath.obs) +465 USER32.SetWindowRgn isrt.obl(AskDestPath.obs) +466 VarRestore isrt.obl(SysVars.obs) +467 VarSave isrt.obl(SysVars.obs) +468 WaitOnDialog isrt.obl(CustomDlg.obs) +469 WriteLine isrt.obl(Files.obs) +470 WriteProfString isrt.obl(Profile.obs) +471 WriteProperties ifx.obl(PersistPropertyBag.obs) +472 _HandleException isrt.obl(exceptions.obs) +473 _WinSubEnableControl isrt.obl(WINSUB.obs) +474 _WinSubEnableWindow isrt.obl(WINSUB.obs) +475 _WinSubGetChildWindow isrt.obl(WINSUB.obs) +476 _WinSubIsWindow isrt.obl(WINSUB.obs) +477 __DefaultExitHandler isrt.obl(handlers.obs) +478 __ISRTDoExit isrt.obl(Misc.obs) +479 __ISRTInit isrt.obl(ISRTInit.obs) +480 __ISRTRestoreMainLog isrt.obl(ISRTInit.obs) +481 __ISRTSetComponentLog isrt.obl(ISRTInit.obs) +482 __ISRTUnInit isrt.obl(ISRTInit.obs) +483 __LoadIScriptString isrt.obl(LoadStr.obs) +484 program Setup.Obs +485 sfc.SRSetRestorePoint Setup.Obs + + +***** External Variables ***** +1 BATCH_INSTALL Setup.Obs +2 CMDLINE isrt.obl(DebugSymbols.obs) +3 COMMONFILES isrt.obl(DebugSymbols.obs) +4 DISK1TARGET Setup.Obs +5 ERRORFILENAME Setup.Obs +6 Err Setup.Obs +7 FILETIME isrt.obl(AskDestPath.obs) +8 FIND_DATA isrt.obl(AskDestPath.obs) +9 FOLDER_DESKTOP isrt.obl(DebugSymbols.obs) +10 FOLDER_PROGRAMS isrt.obl(DebugSymbols.obs) +11 FOLDER_STARTMENU isrt.obl(DebugSymbols.obs) +12 FOLDER_STARTUP isrt.obl(DebugSymbols.obs) +13 FileRegistrar Setup.Obs +14 ISRES isrt.obl(DebugSymbols.obs) +15 ISUSER isrt.obl(DebugSymbols.obs) +16 ISVERSION isrt.obl(DebugSymbols.obs) +17 InetSRCDIR Setup.Obs +18 LAST_RESULT Setup.Obs +19 LogDB Setup.Obs +20 MAINTENANCE isrt.obl(DebugSymbols.obs) +21 MEDIA Setup.Obs +22 MEMORYSTATUS isrt.obl(AskDestPath.obs) +23 MODE isrt.obl(DebugSymbols.obs) +24 NOTHING Setup.Obs +25 OSINFO_PLATFORM_INFO Setup.Obs +26 OSVERSIONINFO isrt.obl(AskDestPath.obs) +27 PRODUCT_GUID isrt.obl(DebugSymbols.obs) +28 PROGRAMFILES isrt.obl(DebugSymbols.obs) +29 RECT isrt.obl(AskDestPath.obs) +30 Reboot Setup.Obs +31 SELECTED_LANGUAGE isrt.obl(DebugSymbols.obs) +32 SHELL_OBJECT_FOLDER Setup.Obs +33 SRCDIR Setup.Obs +34 SRCDISK isrt.obl(DebugSymbols.obs) +35 SUPPORTDIR isrt.obl(DebugSymbols.obs) +36 SYSTEMTIME isrt.obl(AskDestPath.obs) +37 SetupInfo Setup.Obs +38 StatusDlg Setup.Obs +39 TARGETDIR Setup.Obs +40 TARGETDISK isrt.obl(DebugSymbols.obs) +41 TextSub Setup.Obs +42 UNINST Setup.Obs +43 UNINSTALL_STRING Setup.Obs +44 WINDIR isrt.obl(DebugSymbols.obs) +45 WINDISK isrt.obl(DebugSymbols.obs) +46 WINSYSDIR isrt.obl(DebugSymbols.obs) +47 WINSYSDISK isrt.obl(DebugSymbols.obs) +48 _INT64 Setup.Obs +49 _RESTOREINFO_ Setup.Obs +50 _RESTOREPTINFO Setup.Obs +51 _SMGRSTATUS Setup.Obs +52 _SMGSTATUS_ Setup.Obs +53 _WIN9X Setup.Obs +54 _WINNT Setup.Obs +55 __SYSTEMINFORMATION Setup.Obs +56 __hContext isrt.obl(AskYesNo.obs) +57 __objGlobalTextSub Setup.Obs +58 __szGUID isrt.obl(ISRTInit.obs) +59 bBackButton Setup.Obs +60 bCancelButton Setup.Obs +61 bEnterDiskBeep isrt.obl(AskDestPath.obs) +62 bFinishButton Setup.Obs +63 bIFXLFNoToAll Setup.Obs +64 bIFXLFOnRebootToAll Setup.Obs +65 bIFXLFYesToAll Setup.Obs +66 bIFXMD5IgnoreToAll Setup.Obs +67 bIFXRONoToAll Setup.Obs +68 bIFXROYesToAll Setup.Obs +69 bIFXSFNoToAll Setup.Obs +70 bIFXSFYesToAll Setup.Obs +71 bIfxPCHInitialized Setup.Obs +72 bIfxPCHOn Setup.Obs +73 bInstall16 Setup.Obs +74 bNextButton Setup.Obs +75 bSdInit Setup.Obs +76 bViewCmptKunits Setup.Obs +77 bViewCmptUseDecimal Setup.Obs +78 g_bSuppressMissingStringWarning isrt.obl(Enable.obs) +79 nIFXROKey ifx.obl(EventsMIO.obs) +80 nIFXSFKey ifx.obl(EventsMIO.obs) +81 nIfxPCHType Setup.Obs +82 szAppKey Setup.Obs +83 szInstallDeinstKey Setup.Obs +84 szSdProduct Setup.Obs +85 szSdStr_NotEnoughSpace Setup.Obs diff --git a/InstallShield/Script Files/setup.rul b/InstallShield/Script Files/setup.rul new file mode 100644 index 0000000000..28fc24aa2e --- /dev/null +++ b/InstallShield/Script Files/setup.rul @@ -0,0 +1,950 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// IIIIIII SSSSSS +// II SS InstallShield (R) +// II SSSSSS (c) 1996-1997, InstallShield Software Corporation +// II SS (c) 1990-1996, InstallShield Corporation +// IIIIIII SSSSSS All Rights Reserved. +// +// +// This code is generated as a starting setup template. You should +// modify it to provide all necessary steps for your setup. +// +// +// File Name: Setup.rul +// +// Description: InstallShield script +// +// Comments: This template script performs a basic setup on a +// Windows 95 or Windows NT 4.0 platform. With minor +// modifications, this template can be adapted to create +// new, customized setups. +// +//////////////////////////////////////////////////////////////////////////////// + + + // Include header file +#include "ifx.h" + +////////////////////// string defines //////////////////////////// + +#define UNINST_LOGFILE_NAME "Uninst.isu" + +//////////////////// installation declarations /////////////////// + + // ----- DLL prototypes ----- + + + // your DLL prototypes + + + // ---- script prototypes ----- + + // generated + prototype ShowDialogs(); + prototype MoveFileData(); + prototype HandleMoveDataError( NUMBER ); + prototype ProcessBeforeDataMove(); + prototype ProcessAfterDataMove(); + prototype SetupRegistry(); + prototype SetupFolders(); + prototype CleanUpInstall(); + prototype SetupInstall(); + prototype SetupScreen(); + prototype CheckListScreen(); + prototype CheckRequirements(); + prototype DialogShowSdWelcome(); + prototype DialogShowSdShowInfoList(); + prototype DialogShowSdAskDestPath(); + prototype DialogShowSdSetupType(); + prototype DialogShowSdComponentDialog2(); + prototype DialogShowSdSelectFolder(); + prototype DialogShowSdFinishReboot(); + + // your prototypes + prototype MyParsePath ( STRING ); + prototype ForwardSlashify ( STRING, BYREF STRING ); + prototype CreateExecPerlScript ( STRING, STRING ); + prototype DropSuffix ( STRING, BYREF STRING ); + prototype BaseName ( STRING, BYREF STRING ); + + // ----- global variables ------ + + // generated + BOOL bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup; + STRING svDir; + STRING svName, svCompany, svSerial; + STRING szAppPath; + STRING svSetupType; + LIST listPath; + + + // your global variables + //STRING szRawCpp + STRING szPerlPath; + STRING szBinDir, szBinDirUnslashed, + szLibDir, szLibDirUnslashed, + szDataDir, szLibExecDir; + + +/////////////////////////////////////////////////////////////////////////////// +// +// MAIN PROGRAM +// +// The setup begins here by hiding the visible setup +// window. This is done to allow all the titles, images, etc. to +// be established before showing the main window. The following +// logic then performs the setup in a series of steps. +// +/////////////////////////////////////////////////////////////////////////////// +program + Disable( BACKGROUND ); + + CheckRequirements(); + + SetupInstall(); + + SetupScreen(); + + if (ShowDialogs()<0) goto end_install; + + if (ProcessBeforeDataMove()<0) goto end_install; + + if (MoveFileData()<0) goto end_install; + + if (ProcessAfterDataMove()<0) goto end_install; + + if (SetupRegistry()<0) goto end_install; + + if (SetupFolders()<0) goto end_install; + + CheckListScreen(); + + end_install: + + CleanUpInstall(); + + // If an unrecoverable error occurred, clean up the partial installation. + // Otherwise, exit normally. + + if (bInstallAborted) then + abort; + endif; + +endprogram + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: ShowDialogs // +// // +// Purpose: This function manages the display and navigation // +// the standard dialogs that exist in a setup. // +// // +/////////////////////////////////////////////////////////////////////////////// +function ShowDialogs() + NUMBER nResult; + begin + + Dlg_Start: + // beginning of dialogs label + + Dlg_SdWelcome: + nResult = DialogShowSdWelcome(); + if (nResult = BACK) goto Dlg_Start; + + Dlg_SdShowInfoList: + nResult = DialogShowSdShowInfoList(); + if (nResult = BACK) goto Dlg_SdWelcome; + + Dlg_SdAskDestPath: + nResult = DialogShowSdAskDestPath(); + if (nResult = BACK) goto Dlg_SdShowInfoList; + + Dlg_SdSetupType: + nResult = DialogShowSdSetupType(); + if (nResult = BACK) goto Dlg_SdAskDestPath; + + Dlg_SdComponentDialog2: + if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then + goto Dlg_SdSetupType; + endif; + nResult = DialogShowSdComponentDialog2(); + if (nResult = BACK) goto Dlg_SdSetupType; + + Dlg_SdSelectFolder: + //nResult = DialogShowSdSelectFolder(); + //if (nResult = BACK) goto Dlg_SdComponentDialog2; + + return 0; + + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: ProcessBeforeDataMove // +// // +// Purpose: This function performs any necessary operations prior to the // +// actual data move operation. // +// // +/////////////////////////////////////////////////////////////////////////////// +function ProcessBeforeDataMove() + STRING svLogFile; + NUMBER nResult; + begin + + InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY ); + + svLogFile = UNINST_LOGFILE_NAME; + + nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 ); + if (nResult < 0) then + MessageBox( @ERROR_UNINSTSETUP, WARNING ); + endif; + + szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir + + if ((bIs32BitSetup) && (bIsShellExplorer)) then + RegDBSetItem( REGDB_APPPATH, szAppPath ); + RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY ); + RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME ); + endif; + // TODO : update any items you want to process before moving the data + // + + ComponentSetTarget( MEDIA, "<DOCDIR>", TARGETDIR ^ "\\doc" ); + + return 0; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: MoveFileData // +// // +// Purpose: This function handles the data movement for // +// the setup. // +// // +/////////////////////////////////////////////////////////////////////////////// +function MoveFileData() + NUMBER nResult, nDisk; + begin + + nDisk = 1; + SetStatusWindow( 0, "" ); + Disable( DIALOGCACHE ); + Enable( STATUS ); + StatusUpdate( ON, 100 ); + nResult = ComponentMoveData( MEDIA, nDisk, 0 ); + + HandleMoveDataError( nResult ); + + Disable( STATUS ); + + return nResult; + + end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: HandleMoveDataError // +// // +// Purpose: This function handles the error (if any) during the move data // +// operation. // +// // +/////////////////////////////////////////////////////////////////////////////// +function HandleMoveDataError( nResult ) + STRING szErrMsg, svComponent , svFileGroup , svFile; + begin + + svComponent = ""; + svFileGroup = ""; + svFile = ""; + + switch (nResult) + case 0: + return 0; + default: + ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult ); + szErrMsg = @ERROR_MOVEDATA + "\n\n" + + @ERROR_COMPONENT + " " + svComponent + "\n" + + @ERROR_FILEGROUP + " " + svFileGroup + "\n" + + @ERROR_FILE + " " + svFile; + SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult ); + bInstallAborted = TRUE; + return nResult; + endswitch; + + end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: ProcessAfterDataMove // +// // +// Purpose: This function performs any necessary operations needed after // +// all data has been moved. // +// // +/////////////////////////////////////////////////////////////////////////////// +function ProcessAfterDataMove() + STRING szPath, szGcc, szGccDir; + STRING szTemp, szRes, szPathEntry, szDrive; + NUMBER nvSize,nvType, nResult, nPos, nSuccess; + LIST listDirs; + begin + + RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); + RegDBGetKeyValueEx ( "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" , + "path" , nvType, szPath , nvSize ); + + // Spin through path looking for perl.exe. + // Our task is made considerably harder since the + // the free version of InstallShield doesn't support + // functions such as StrGetTokens() or ParsePath(). + // TODO: Convert this back to IS Prof Edn + + MyParsePath ( szPath ); + nResult = ListGetFirstString ( listPath, szPathEntry); + szPathEntry = ""; szPerlPath=""; + while ( nResult != END_OF_LIST ) + if ( FindFile (szPathEntry, "perl.exe", szRes ) = 0 ) then + szPerlPath = szPathEntry + "/" + szRes; + nResult = END_OF_LIST; + else + nResult = ListGetNextString ( listPath, szPathEntry ); + endif; + endwhile; + if ( StrCompare ( szPerlPath, "" ) = 0 ) then + // If not found in global env. block, look in the + // user-specific part. + RegDBSetDefaultRoot ( HKEY_CURRENT_USER ); + RegDBGetKeyValueEx ( "Environment", "path", nvType, szPath, nvSize); + MyParsePath ( szPath ); + nResult = ListGetFirstString ( listPath, szPathEntry); + szPathEntry = ""; szPerlPath=""; + while ( nResult != END_OF_LIST ) + if ( FindFile (szPathEntry, "perl.exe", szRes ) = 0 ) then + szPerlPath = szPathEntry + "/" + szRes; + nResult = END_OF_LIST; + else + nResult = ListGetNextString ( listPath, szPathEntry ); + endif; + endwhile; + endif; + + if ( StrCompare ( szPerlPath, "" ) = 0 ) then + // Default it to /bin/perl + MessageBox ("Unable to find perl in your PATH. Not to worry, this installer includes a version that should be useable." + + "When the installer has finished, please copy it from the bin/ directory of the ghc installation to /bin/perl", + INFORMATION); + szPerlPath = "/bin/perl.exe"; + else + // strip initial drive spec. + GetDir ( szPerlPath, szTemp); + ForwardSlashify ( szTemp, szPerlPath ); + endif; + DropSuffix (szPerlPath, szTemp); + szPerlPath = szTemp; + + ListDestroy (listPath); + + return 0; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: SetupRegistry // +// // +// Purpose: This function makes the registry entries for this setup. // +// // +/////////////////////////////////////////////////////////////////////////////// +function SetupRegistry() + NUMBER nResult,nWays,i; + STRING szProjectDir, szProjectVersionDir, szTargetDir; + STRING szSyslib, szWay, szSyslibsDir; + STRING szLib, szSyslibsKey; + //LIST syslib_list, way_list; + begin + + // TODO : Add all your registry entry keys here + // + // + + nResult = CreateRegistrySet( "" ); + + // By now, we will have had the following Registry + // entries generated (see ProcessBeforeDataMove() ): + // + // HK_L_M\Software\Glasgow University\GHC\<version no.> + // + // For GHC, we store and use the install info inside + // HK_L_M\Software\Haskell\GHC (== %ROOT%) + + // So, we perform the following tasks here: + // + // * Checks to see if %ROOT% is defined. + // If not, creates it. + // * Checks for %ROOT%\Version is defined. + // * Create %ROOT%\<version>. + // * Create %ROOT%\<version>\libdir + // (This key will be given a value later.) + // * Create %ROOT%\syslib\ and fill it in + // with the syslibs that has been installed. + // * %ROOT%\syslib\name\<way> + // is added for each kind (e.g., seq, conc) + // syslib we're installing. + + // When we eventually reach the end, the registry + // should be ready for use by the installed app. + + // Check to see if we've already installed + // a version of GHC on this box.. + RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); + + szProjectDir = @HASKELL_REG_ROOT ^ @PRODUCT_NAME; + + // check whether we've already got the Registry sub-tree we're + // about to add to. If not, then we create it + // level-by-level, so as to ensure that the uninstaller + // can clean up after us. + if ( RegDBKeyExist ( @HASKELL_REG_ROOT ) < 0) then + RegDBCreateKeyEx (@HASKELL_REG_ROOT, ""); + endif; + if ( RegDBKeyExist ( szProjectDir ) < 0 ) then + RegDBCreateKeyEx ( szProjectDir, ""); + endif; + + // Note: we overwrite any existing value. + RegDBSetKeyValueEx( szProjectDir, "Version", REGDB_STRING, + @PRODUCT_KEY, -1); + + szProjectVersionDir = szProjectDir ^ @PRODUCT_KEY; + + if ( RegDBKeyExist ( szProjectVersionDir ) < 0) then + RegDBCreateKeyEx ( szProjectVersionDir, ""); + endif; + + // Here starts the GHC specific part + + ForwardSlashify (TARGETDIR, szTargetDir); + // fill in the all-important path to where the archives + // and interface files have been parked. + szLibDir = szTargetDir + "/lib"; + szLibDirUnslashed = TARGETDIR ^ "\\lib"; + RegDBSetKeyValueEx ( szProjectVersionDir, "libdir", REGDB_STRING, + szLibDir , -1); + // libexecdir + szLibExecDir = szTargetDir + "/lib"; + RegDBSetKeyValueEx ( szProjectVersionDir, "libexecdir", REGDB_STRING, + szLibExecDir , -1); + // bindir + szBinDir = szTargetDir + "/bin"; + szBinDirUnslashed = TARGETDIR ^ "\\bin"; + RegDBSetKeyValueEx ( szProjectVersionDir, "bindir", REGDB_STRING, + szBinDir , -1); + + return 0; + end; + + +/////////////////////////////////////////////////////////////////////////////// +// +// Function: SetupFolders +// +// Purpose: This function creates all the folders and shortcuts for the +// setup. This includes program groups and items for Windows 3.1. +// +/////////////////////////////////////////////////////////////////////////////// +function SetupFolders() + NUMBER nResult; + begin + + + // TODO : Add all your folder (program group) along with shortcuts (program items) + // + // + // CreateProgramFolder, AddFolderIcon.... + // + + CreateExecPerlScript ( szBinDirUnslashed, "ghc-" + @PRODUCT_VERSION ); + CreateExecPerlScript ( szBinDirUnslashed, "stat2resid" ); + CreateExecPerlScript ( szLibDirUnslashed, "hscpp" ); + CreateExecPerlScript ( szLibDirUnslashed, "mkdependHS" ); + + VarSave (SRCTARGETDIR); + SRCDIR = szBinDirUnslashed; + TARGETDIR = szBinDirUnslashed; + CopyFile( "ghc-" + @PRODUCT_VERSION, "ghc"); + VarRestore (SRCTARGETDIR); + + nResult = CreateShellObjects( "" ); + + return nResult; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: CleanUpInstall // +// // +// Purpose: This cleans up the setup. Anything that should // +// be released or deleted at the end of the setup should // +// be done here. // +// // +/////////////////////////////////////////////////////////////////////////////// +function CleanUpInstall() + begin + + + if (bInstallAborted) then + return 0; + endif; + + DialogShowSdFinishReboot(); + + if (BATCH_INSTALL) then // ensure locked files are properly written + CommitSharedFiles(0); + endif; + + return 0; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: SetupInstall // +// // +// Purpose: This will setup the installation. Any general initialization // +// needed for the installation should be performed here. // +// // +/////////////////////////////////////////////////////////////////////////////// +function SetupInstall() + + begin + + Enable( CORECOMPONENTHANDLING ); + + bInstallAborted = FALSE; + + GetDisk(WINDIR, svDir); + + if (bIs32BitSetup) then + svDir = svDir + "\\" ^ @PRODUCT_NAME_SHORT ^ @PRODUCT_KEY; + else + // We're (=>ghc) 32 through and through, but for the sake of + // completenes. + svDir = svDir + "\\" ^ @PRODUCT_NAME_SHORT ^ @PRODUCT_NAME16; + endif; + + TARGETDIR = svDir; + + SdProductName( @PRODUCT_NAME ); + + Enable( DIALOGCACHE ); + + return 0; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: SetupScreen // +// // +// Purpose: This function establishes the screen look. This includes // +// colors, fonts, and text to be displayed. // +// // +/////////////////////////////////////////////////////////////////////////////// +function SetupScreen() + begin + + SetColor ( BACKGROUND, BLUE ); + Enable( FULLWINDOWMODE ); + Enable( INDVFILESTATUS ); + + SetTitle( @TITLE_MAIN, 24, WHITE ); + + SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text. + + Enable( BACKGROUND ); + + Delay( 1 ); + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: CheckRequirements // +// // +// Purpose: This function checks all minimum requirements for the // +// application being installed. If any fail, then the user // +// is informed and the setup is terminated. // +// // +/////////////////////////////////////////////////////////////////////////////// +function CheckRequirements() + NUMBER nvDx, nvDy, nvResult; + STRING svResult; + + begin + + bWinNT = FALSE; + bIsShellExplorer = FALSE; + + // Check screen resolution. + GetExtents( nvDx, nvDy ); + + if (nvDy < 480) then + MessageBox( @ERROR_VGARESOLUTION, WARNING ); + abort; + endif; + + // set 'setup' operation mode + bIs32BitSetup = TRUE; + GetSystemInfo( ISTYPE, nvResult, svResult ); + if (nvResult = 16) then + bIs32BitSetup = FALSE; // running 16-bit setup + return 0; // no additional information required + endif; + + // --- 32-bit testing after this point --- + + // Determine the target system's operating system. + GetSystemInfo( OS, nvResult, svResult ); + + if (nvResult = IS_WINDOWSNT) then + // Running Windows NT. + bWinNT = TRUE; + + // Check to see if the shell being used is EXPLORER shell. + if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then + if (nvResult >= 4) then + bIsShellExplorer = TRUE; + endif; + endif; + + elseif (nvResult = IS_WINDOWS95 ) then + bIsShellExplorer = TRUE; + + endif; + +end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdWelcome // +// // +// Purpose: This function handles the standard welcome dialog. // +// // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdWelcome() + NUMBER nResult; + STRING szTitle, szMsg; + begin + + szTitle = ""; + szMsg = ""; + nResult = SdWelcome( szTitle, szMsg ); + + return nResult; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdShowInfoList // +// // +// Purpose: This function displays the general information list dialog. // +// // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdShowInfoList() + NUMBER nResult; + LIST list; + STRING szTitle, szMsg, szFile; + begin + + szFile = SUPPORTDIR ^ "announce"; + + list = ListCreate( STRINGLIST ); + ListReadFromFile( list, szFile ); + szTitle = ""; + szMsg = " "; + nResult = SdShowInfoList( szTitle, szMsg, list ); + + ListDestroy( list ); + + return nResult; + end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdAskDestPath // +// // +// Purpose: This function asks the user for the destination directory. // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdAskDestPath() + NUMBER nResult; + STRING szTitle, szMsg; + begin + + szTitle = ""; + szMsg = "WARNING! The path must not contain spaces."; + nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 ); + + TARGETDIR = svDir; + + return nResult; + end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdSetupType // +// // +// Purpose: This function displays the standard setup type dialog. // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdSetupType() + NUMBER nResult, nType; + STRING szTitle, szMsg; + begin + + switch (svSetupType) + case "Typical": + nType = TYPICAL; + case "Custom": + nType = CUSTOM; + case "Compact": + nType = COMPACT; + case "": + svSetupType = "Typical"; + nType = TYPICAL; + endswitch; + + szTitle = ""; + szMsg = ""; + nResult = SetupType( szTitle, szMsg, "", nType, 0 ); + + switch (nResult) + case COMPACT: + svSetupType = "Compact"; + case TYPICAL: + svSetupType = "Typical"; + case CUSTOM: + svSetupType = "Custom"; + endswitch; + + return nResult; + end; + + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdComponentDialog2 // +// // +// Purpose: This function displays the custom component dialog. // +// // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdComponentDialog2() + NUMBER nResult; + STRING szTitle, szMsg; + begin + + if ((svSetupType != "Custom") && (svSetupType != "")) then + return 0; + endif; + + szTitle = ""; + szMsg = ""; + nResult = SdComponentDialog2( szTitle, szMsg, svDir, "" ); + + return nResult; + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: CheckListScreen // +// // +// Purpose: Show a check-list of post-install user actions. // +// // +/////////////////////////////////////////////////////////////////////////////// +function CheckListScreen() + BOOL bDone; + NUMBER nCmdValue; + begin + EzDefineDialog("CHECKLIST", "", "", 30001); + + bDone = FALSE; + while (bDone=FALSE) + nCmdValue = WaitOnDialog("CHECKLIST"); + switch (nCmdValue) + case DLG_INIT: + // Process the Next button. + case SD_PBUT_CONTINUE: + bDone = TRUE; + // Process the Cancel button. + case SD_PBUT_EXITSETUP: + bDone = TRUE; + // Process the close dialog box button. + case DLG_CLOSE: + bDone = TRUE; + // Process dialog box errors. + case DLG_ERR: + MessageBox("Internal dialog box error", SEVERE); + bDone = TRUE; + endswitch; + endwhile; + // Identify the end of dialog box processing. + EndDialog("CHECKLIST"); + // Free the dialog box and list from memory. + ReleaseDialog("CHECKLIST"); + end; + +/////////////////////////////////////////////////////////////////////////////// +// // +// Function: DialogShowSdFinishReboot // +// // +// Purpose: This function will show the last dialog of the product. // +// It will allow the user to reboot and/or show some readme text. // +// // +/////////////////////////////////////////////////////////////////////////////// +function DialogShowSdFinishReboot() + NUMBER nResult, nDefOptions; + STRING szTitle, szMsg1, szMsg2, szOption1, szOption2; + NUMBER bOpt1, bOpt2; + begin + + if (!BATCH_INSTALL) then + bOpt1 = FALSE; + bOpt2 = FALSE; + szMsg1 = ""; + szMsg2 = ""; + szOption1 = ""; + szOption2 = ""; + szTitle = "Installation is now complete."; + nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 ); + return 0; + else + nDefOptions = SYS_BOOTMACHINE; + szTitle = ""; + szMsg1 = ""; + szMsg2 = ""; + nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 ); + return nResult; + endif; + end; + +function MyParsePath(szPath) + STRING szTmp,szPth; + NUMBER nPos; + begin + szPth = szPath; + listPath = ListCreate( STRINGLIST ); + + // Man, all I want is map. Please? :-) + nPos = StrFind ( szPth, ";"); + while ( nPos > 0 ) + StrSub ( szTmp, szPth, 0, nPos); + ListAddString ( listPath, szTmp, AFTER ); + StrSub ( szTmp, szPth, nPos + 1, StrLength ( szPth) - nPos ); + szPth = szTmp; + nPos = StrFind ( szPth, ";" ); + endwhile; + + return 0; + end; + + function ForwardSlashify ( szStr , theRes ) + NUMBER nPos; + STRING szTemp, szRes; + begin + // Tortuous piece of code to convert backslashes into + // forward ones. + nPos = StrFind ( szStr, "\\"); + szRes=""; + while ( nPos >= 0 ) + StrSub ( szTemp, szStr, 0, nPos); + szRes = szRes + szTemp + "/"; + StrSub ( szTemp, szStr, nPos + 1, StrLength ( szStr) - nPos ); + szStr = szTemp; + nPos = StrFind ( szStr, "\\" ); + endwhile; + StrSub ( szTemp, szStr, 0, StrLength (szStr)); + szRes = szRes + szTemp; + theRes = szRes; + return 0; + end; + + function CreateExecPerlScript ( szPath, szFileName ) + NUMBER nResult, writeHandle, readHandle; + STRING szLine; + begin + VarSave (SRCTARGETDIR); + SRCDIR = szPath; + TARGETDIR = szPath; + DeleteFile ( szFileName + ".bak"); + RenameFile ( szFileName, szFileName + ".bak"); + VarRestore (SRCTARGETDIR); + + OpenFileMode (FILE_MODE_APPEND); + if ( CreateFile ( writeHandle, szPath, szFileName ) < 0 ) then + MessageBox ("CreateFile " + szPath ^ szFileName + " failed", INFORMATION); + endif; + // append + WriteLine (writeHandle, "#!" + szPerlPath ); + WriteLine (writeHandle, "$libdir='" + szLibDir + "';"); + WriteLine (writeHandle, "$bindir='" + szBinDir + "';"); + WriteLine (writeHandle, "$libexecdir='" + szLibExecDir + "';"); + WriteLine (writeHandle, "$datadir='" + szDataDir + "';"); + WriteLine (writeHandle, "$SED='sed';"); + WriteLine (writeHandle, "$TMPDIR='C:/TEMP';"); + WriteLine (writeHandle, "$RAWCPP='gcc -E';"); + // For the benefit of mkdependHS, which doesn't get this prepended + WriteLine (writeHandle, "$INSTALLING=1;"); + + OpenFileMode (FILE_MODE_NORMAL); + if ( OpenFile ( readHandle, szPath, szFileName + ".bak") < 0 ) then + MessageBox ("OpenFile " + szPath ^ szFileName + ".bak failed", INFORMATION); + endif; + + // copy the template over. + nResult = GetLine ( readHandle, szLine); + while ( nResult >= 0 ) + WriteLine ( writeHandle, szLine); + nResult = GetLine ( readHandle, szLine); + endwhile; + if ( CloseFile( readHandle ) < 0 ) then + MessageBox ( "CloseFile " + szPath ^ szFileName + ".bak failed", + INFORMATION); + endif; + if ( CloseFile( writeHandle ) < 0 ) then + MessageBox ( "CloseFile " + szPath ^ szFileName + " failed", + INFORMATION); + endif; + // There's no way to set the 'x' bit using + // SetFileInfo(), but luckily it is not needed to run #! scripts + // under cygwin. + SetFileInfo ( szPath ^ szFileName, FILE_ATTRIBUTE, FILE_ATTR_NORMAL, ""); + // Delete the .bak file + DeleteFile ( szPath ^ szFileName + ".bak"); + + return 0; + end; + + function DropSuffix ( szInp, szOut ) + NUMBER nResult, nLen; + STRING szTemp, szTemp2; + begin + nLen = 0; + szTemp2 = szInp; + nResult = StrFind ( szTemp2 , "."); + while ( nResult >= 0 ) + nLen = nLen + nResult; + StrSub ( szTemp, szTemp2, nResult + 1, StrLength ( szTemp2) - nResult ); + szTemp2 = szTemp; + nResult = StrFind ( szTemp2, "." ); + if ( nResult >= 0 ) then + nLen = nLen + 1; // incl the previous . if there's more. + endif; + endwhile; + StrSub ( szOut, szInp, 0, nLen); + return 0; + end;
\ No newline at end of file |