summaryrefslogtreecommitdiff
path: root/InstallShield/Script Files
diff options
context:
space:
mode:
Diffstat (limited to 'InstallShield/Script Files')
-rw-r--r--InstallShield/Script Files/Setup.Inxbin0 -> 3931 bytes
-rw-r--r--InstallShield/Script Files/Setup.Obsbin0 -> 132 bytes
-rw-r--r--InstallShield/Script Files/Setup.dbgbin0 -> 2960 bytes
-rw-r--r--InstallShield/Script Files/Setup.inobin0 -> 4350 bytes
-rw-r--r--InstallShield/Script Files/Setup.insbin0 -> 5413 bytes
-rw-r--r--InstallShield/Script Files/Setup.map574
-rw-r--r--InstallShield/Script Files/setup.rul950
7 files changed, 1524 insertions, 0 deletions
diff --git a/InstallShield/Script Files/Setup.Inx b/InstallShield/Script Files/Setup.Inx
new file mode 100644
index 0000000000..4aef7fa618
--- /dev/null
+++ b/InstallShield/Script Files/Setup.Inx
Binary files differ
diff --git a/InstallShield/Script Files/Setup.Obs b/InstallShield/Script Files/Setup.Obs
new file mode 100644
index 0000000000..53425bdaea
--- /dev/null
+++ b/InstallShield/Script Files/Setup.Obs
Binary files differ
diff --git a/InstallShield/Script Files/Setup.dbg b/InstallShield/Script Files/Setup.dbg
new file mode 100644
index 0000000000..7c86870878
--- /dev/null
+++ b/InstallShield/Script Files/Setup.dbg
Binary files differ
diff --git a/InstallShield/Script Files/Setup.ino b/InstallShield/Script Files/Setup.ino
new file mode 100644
index 0000000000..421984ed6b
--- /dev/null
+++ b/InstallShield/Script Files/Setup.ino
Binary files differ
diff --git a/InstallShield/Script Files/Setup.ins b/InstallShield/Script Files/Setup.ins
new file mode 100644
index 0000000000..156a8eecdc
--- /dev/null
+++ b/InstallShield/Script Files/Setup.ins
Binary files differ
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