;********************************************************************** ; We don't use the INNO Setup preprocessor. It is unfortunately quite buggy. ; So, this script must be preprocessed by our own tools. ; The preprocessor will replace anything enclosed in percent characters ; by the value specified in it's config file. Standard there are only ; the following things; ; FPCVERSION Version of FPC. ; BUILDDIR Build directory. ;********************************************************************** ; ; ISS Build script generated on %BUILDDATE% - %BUILDTIME% ; [Setup] AppName=Free Pascal AppID=FreePascal AppVerName=Free Pascal %FPCVERSION% AppPublisher=Free Pascal Team AppPublisherURL=http://www.freepascal.org/ AppSupportURL=http://www.freepascal.org/ AppUpdatesURL=http://www.freepascal.org/ DefaultDirName={sd}\FPC\%FPCVERSION% DefaultGroupName=Free Pascal AllowNoIcons=yes InfoAfterFile=doc\fpc\whatsnew.txt Compression=bzip SolidCompression=true SourceDir=%BUILDDIR% InternalCompressLevel=max AppCopyright=GPL AppendDefaultDirName=false AlwaysShowComponentsList=false ShowLanguageDialog=yes ; we put version numbers in the appdir, so never use old dirname UsePreviousAppDir=no [Tasks] Name: associatepp; Description: "Associate .pp files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide Name: associateinc; Description: "Associate .inc files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide Name: associatepas; Description: "Associate .pas files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide; Flags: unchecked Name: associatedpr; Description: "Associate .dpr files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide; Flags: unchecked Name: createdesktopicon; Description: "Create a desktop icon for the Free Pascal IDE"; Components: ide Name: createidecfg; Description: "Create a default configuration for the Free Pascal IDE"; Components: ide Name: createcfg; Description: "Create a standard configuration file for the compiler" Name: createfppkgcfg; Description: "Create a standard configuration file for the package manager (fppkg)" [Files] ; Base package Source: bin\i386-win32\ppc386.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\ppudump.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\ppufiles.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\ppumove.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\fp32.ico; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\fpc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\fpcmkcfg.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\fppkg.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\rmcvsdir.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\fpcsubst.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: bin\i386-win32\GoRC.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base Source: doc\fpc\copying; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\copying.dj; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\copying.emx; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\copying.fpc; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\copying.rsx; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\readme.txt; DestDir: {app}\doc\fpc; Components: base; Flags: isreadme Source: doc\fpc\whatsnew.txt; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\faq.txt; DestDir: {app}\doc\fpc; Components: base Source: doc\fpc\faq.htm; DestDir: {app}\doc\fpc; Components: base Source: msg\*.*; DestDir: {app}\msg; Components: base Source: units\i386-win32\rtl\*.*; DestDir: {app}\units\i386-win32\rtl; Components: base ; Binutils (asld) Source: bin\i386-win32\ar.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\as.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\cpp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\dlltool.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\gcc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\ld.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\nm.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\objdump.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\objcopy.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\windres.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\windres.h; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\strip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils Source: bin\i386-win32\gdb.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: gdb Source: bin\i386-win32\libexpat-1.dll; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: gdb ; IDE files Source: bin\i386-win32\fp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\fp32.ico; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\fp.ans; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\cvsco.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\cvsdiff.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\cvsup.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\gplprog.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\gplunit.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\unit.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\program.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\tpgrep.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: bin\i386-win32\grep.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide Source: doc\ide\readme.ide; DestDir: {app}\doc\ide; Flags: ignoreversion; Components: ide ; Make tools Source: bin\i386-win32\gdate.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\gecho.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\ginstall.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\ginstall.exe.manifest; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\gmkdir.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\grep.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\make.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\mv.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\patch.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\patch.exe.manifest; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\pwd.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\rm.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\unzip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\zip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\cmp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\cp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make Source: bin\i386-win32\diff.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make ; FPC Utilities Source: bin\i386-win32\bin2obj.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\data2inc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\delp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\fpcmake.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\fpdoc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\fpmc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils ; makes no sense since we don't deliever the gtk dlls ; Source: bin\i386-win32\fpmcgtk.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\fprcp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\h2pas.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\h2paspp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\makeskel.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\plex.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\postw32.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\ppdep.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\ptop.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\pyacc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\rstconv.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\unitdiff.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\chmls.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\chmcmd.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\fpcres.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\yylex.cod; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: bin\i386-win32\yyparse.cod; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils Source: units\i386-win32\lexyacc\*.*; DestDir: {app}\units\i386-win32\lexyacc; Flags: ignoreversion; Components: utils ; Demos Source: demo\*.*; DestDir: {app}\demo; Flags: ignoreversion recursesubdirs ; Components: demo ; Documentation %DisableDocs%Source: doc\*.pdf; DestDir: {app}\doc; Flags: ignoreversion; Components: docs ; Units Source: units\i386-win32\*.*; DestDir: {app}\units\i386-win32; Flags: ignoreversion recursesubdirs; Components: units ; Examples Source: examples\*.*; DestDir: {app}\examples; Flags: ignoreversion recursesubdirs; Components: examples [INI] Filename: {app}\Free Pascal.url; Section: InternetShortcut; Key: URL; String: http://www.freepascal.org/ [Icons] Name: {userdesktop}\Free Pascal IDE; Filename: {app}\bin\i386-win32\fp.exe; components: ide; IconFileName: {app}\bin\i386-win32\fp32.ico; WorkingDir: {app}\bin\i386-win32; Tasks: createdesktopicon Name: {group}\Free Pascal; Filename: {app}\bin\i386-win32\fp.exe; components: ide; IconFileName: {app}\bin\i386-win32\fp32.ico; WorkingDir: {app}\bin\i386-win32 Name: {group}\{cm:ProgramOnTheWeb,Free Pascal}; Filename: {app}\Free Pascal.url; IconFileName: {app}\bin\i386-win32\fp32.ico; Name: {group}\{cm:UninstallProgram,Free Pascal}; Filename: {uninstallexe} Name: {group}\Documentation\User's manual; Filename: {app}\doc\user.pdf; Components: docs Name: {group}\Documentation\Programmer's manual; Filename: {app}\doc\prog.pdf; Components: docs Name: {group}\Documentation\Reference manual; Filename: {app}\doc\ref.pdf; Components: docs Name: {group}\Documentation\Run-Time Library Reference guide; Filename: {app}\doc\rtl.pdf; Components: docs Name: {group}\Documentation\Free Component Library Reference guide; Filename: {app}\doc\fcl.pdf; Components: docs Name: {group}\Documentation\Free Pascal code documenter Reference manual; Filename: {app}\doc\fpdoc.pdf; Components: docs [UninstallDelete] Type: files; Name: {app}\Free Pascal.url Type: files; Name: {app}\bin\i386-win32\fpc.cfg; Tasks: createcfg; Type: files; Name: {app}\bin\i386-Win32\fp.cfg; Tasks: createidecfg; Type: files; Name: {app}\bin\i386-Win32\fp.ini; Tasks: createidecfg; Type: files; Name: {localappdata}\FreePascal\fppkg\config\default; Tasks: createfppkgcfg; Type: files; Name: {localappdata}\FreePascal\fppkg\fppkg.cfg; Tasks: createfppkgcfg; [Components] Name: base; Description: Basic system for win32; Flags: fixed; Types: Custom Minimum Full Name: binutils; Description: GNU linker and assembler; Flags: fixed; Types: Custom Minimum Full %DisableDocs%Name: docs; Description: Documentation in PDF; Types: Custom Full Name: ide; Description: Integrated Development Environment; Types: Custom Full Name: utils; Description: Free Pascal Utilities; Types: Custom Full Name: make; Description: GNU make; Types: Custom Full Name: demo; Description: Demos; Types: Custom Full Name: gdb; Description: GNU debugger; Types: Full Custom Name: units; Description: Units; Types: Full Minimum Custom Name: examples; Description: Examples; Types: Full Custom [Types] Name: Full; Description: Full installation Name: Minimum; Description: Minimum installation Name: Custom; Description: Custom installation; Flags: iscustom [Code] function IsHKLMWriteable(): boolean; begin Result := IsAdminLoggedOn or IsPowerUserLoggedOn; end; function IsHKLMNotWriteable: boolean; begin Result := not IsHKLMWriteable(); end; [Registry] ; Associate .pp with FP IDE (admin mode) Root: HKLM; Subkey: "SOFTWARE\Classes\.pp"; ValueType: string; ValueName: ""; ValueData: "FPCPPFile"; Flags: uninsdeletevalue; Tasks: associatepp; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCPPFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepp; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCPPFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepp;Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCPPFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepp; Check: IsHKLMWriteable ; Associate .pp with FP IDE (restricted user) Root: HKCU; Subkey: "SOFTWARE\Classes\.pp"; ValueType: string; ValueName: ""; ValueData: "FPCPPFile"; Flags: uninsdeletevalue; Tasks: associatepp; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCPPFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepp; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCPPFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepp; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCPPFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepp; Check: IsHKLMNotWriteable ; Associate .inc with FP IDE (admin mode) Root: HKLM; Subkey: "SOFTWARE\Classes\.inc"; ValueType: string; ValueName: ""; ValueData: "FPCINCFile"; Flags: uninsdeletevalue; Tasks: associateinc; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCINCFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal include File"; Flags: uninsdeletekey; Tasks: associateinc; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCINCFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associateinc; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPCINCFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associateinc; Check: IsHKLMWriteable ; Associate .inc with FP IDE (restricted user) Root: HKCU; Subkey: "SOFTWARE\Classes\.inc"; ValueType: string; ValueName: ""; ValueData: "FPCINCFile"; Flags: uninsdeletevalue; Tasks: associateinc; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCINCFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal include File"; Flags: uninsdeletekey; Tasks: associateinc; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCINCFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associateinc; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPCINCFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associateinc; Check: IsHKLMNotWriteable ; Associate .pas with FP IDE (admin mode) Root: HKLM; Subkey: "SOFTWARE\Classes\.pas"; ValueType: string; ValueName: ""; ValueData: "FPCPASFile"; Flags: uninsdeletevalue; Tasks: associatepas; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPPASFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepas; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPPASFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepas; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\Classes\FPPASFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepas; Check: IsHKLMWriteable ; Associate .pas with FP IDE (restricted user) Root: HKCU; Subkey: "SOFTWARE\Classes\.pas"; ValueType: string; ValueName: ""; ValueData: "FPCPASFile"; Flags: uninsdeletevalue; Tasks: associatepas; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPPASFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepas; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPPASFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepas; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\Classes\FPPASFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepas; Check: IsHKLMNotWriteable ; Associate .dpr with FP IDE (admin mode) Root: HKLM; Subkey: "SOFTWARE\.dpr"; ValueType: string; ValueName: ""; ValueData: "FPCDPRFile"; Flags: uninsdeletevalue; Tasks: associatedpr; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\FPDPRFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal Project File"; Flags: uninsdeletekey; Tasks: associatedpr; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\FPDPRFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatedpr; Check: IsHKLMWriteable Root: HKLM; Subkey: "SOFTWARE\FPDPRFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatedpr; Check: IsHKLMWriteable ; Associate .dpr with FP IDE (restricted user) Root: HKCU; Subkey: "SOFTWARE\.dpr"; ValueType: string; ValueName: ""; ValueData: "FPCDPRFile"; Flags: uninsdeletevalue; Tasks: associatedpr; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\FPDPRFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal Project File"; Flags: uninsdeletekey; Tasks: associatedpr; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\FPDPRFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatedpr; Check: IsHKLMNotWriteable Root: HKCU; Subkey: "SOFTWARE\FPDPRFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatedpr; Check: IsHKLMNotWriteable ; Extend path in NT,2000 or XP. Does not work in 95/98/Me ; System-wide Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "PATH"; ValueData: "{reg:HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment,PATH|};{app}\bin\i386-Win32";MinVersion: 5.0,4.0; Check: IsHKLMWriteable ; Current user only Root: HKCU; Subkey: "Environment"; ValueType: String; ValueName: "PATH"; ValueData: "{reg:HKCU\environment,PATH|};{app}\bin\i386-Win32";MinVersion: 5.0,4.0; Check: IsHKLMNotWriteable [Run] FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default configuration file for Free Pascal compiler"; Parameters: "-d ""basepath={app}"" -o ""{app}\bin\i386-Win32\fpc.cfg"""; Tasks: createcfg FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default configuration file for the Free Pascal IDE"; Parameters: "-1 -d ""basepath={app}"" -o ""{app}\bin\i386-Win32\fp.cfg"""; Tasks: createidecfg FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default configuration file for the Free Pascal IDE"; Parameters: "-2 -d ""basepath={app}"" -o ""{app}\bin\i386-Win32\fp.ini"""; Tasks: createidecfg FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default configuration file the Free Pascal Packager (fppkg)"; Parameters: "-3 -p -o ""{localappdata}\FreePascal\fppkg\fppkg.cfg"""; Tasks: createfppkgcfg FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default compiler configuration file for Free Pascal Packager (fppkg)"; Parameters: "-4 -p -d ""GlobalPrefix={app}"" -o ""{localappdata}\FreePascal\fppkg\config\default"""; Tasks: createfppkgcfg