1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
;**********************************************************************
; 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 JVM
; this must match with the main installer
AppID=FreePascal
AppVerName=Free Pascal JVM %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=lzma/max
SolidCompression=true
SourceDir=%BUILDDIR%
InternalCompressLevel=max
AppCopyright=GPL
AppendDefaultDirName=false
AlwaysShowComponentsList=false
ShowLanguageDialog=yes
UsePreviousAppDir=yes
; we update the CLASSPATH variable, so set ChangesEnvironment
ChangesEnvironment=yes
; for the addon installer
CreateUninstallRegKey=no
UpdateUninstallLogAppName=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"
[Files]
; Base package
Source: bin\jvm-android\ppcjvm.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
Source: bin\jvm-android\bcel-6.0-SNAPSHOT.jar; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
Source: bin\jvm-android\jasmin.jar; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
Source: bin\jvm-android\javapp.jar; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
Source: doc\fpc\apache2.txt; DestDir: {app}\doc\fpc; Components: base
Source: doc\fpc\jasminli.txt; DestDir: {app}\doc\fpc; Components: base
; Include license and readme files, so they are available even if somebody installs this package alone though
; it will not result in a working fpc installation
Source: doc\fpc\COPYING; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\copying.dj; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\copying.emx; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\copying.fpc; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\copying.rsx; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\COPYING.v2; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\COPYING.v3; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\faq.txt; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\faq.htm; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\licensez.ip; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
Source: doc\fpc\readme.txt; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist isreadme; Components: base
Source: doc\fpc\whatsnew.txt; DestDir: {app}\doc\fpc; Flags: onlyifdoesntexist; Components: base
; Source: units\jvm-java\rtl\*.*; DestDir: {app}\units\jvm-java\rtl; Components: base_java
; Source: units\jvm-android\rtl\*.*; DestDir: {app}\units\jvm-android\rtl; Components: base_android
; Units
Source: units\jvm-java\*.*; DestDir: {app}\units\jvm-java; Flags: ignoreversion recursesubdirs; Components: units_java
Source: fpmkinst\jvm-java\*.*; DestDir: {app}\fpmkinst\jvm-java; Flags: ignoreversion recursesubdirs; Components: units_java
Source: units\jvm-android\*.*; DestDir: {app}\units\jvm-android; Flags: ignoreversion recursesubdirs; Components: units_android
Source: fpmkinst\jvm-android\*.*; DestDir: {app}\fpmkinst\jvm-android; Flags: ignoreversion recursesubdirs; Components: units_android
[Components]
Name: base; Description: Basic system for JVM; Flags: fixed; Types: Custom Minimum Full
; Name: base_java; Description: Basic units for JVM for Java; Types: Custom Minimum Full
; Name: base_android; Description: Basic units for JVM for Android; Types: Custom Minimum Full
Name: units_java; Description: Units for JVM for Java; Types: Custom Minimum Full
Name: units_android; Description: Units for JVM for Android; Types: Custom Minimum Full
Name: extend_classpath; Description: Extend environment variable CLASSPATH; Types: Full
[Code]
function IsHKLMWriteable(): boolean;
begin
Result := IsAdminLoggedOn or IsPowerUserLoggedOn;
end;
function IsHKLMNotWriteable: boolean;
begin
Result := not IsHKLMWriteable();
end;
[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "CLASSPATH"; ValueData: "{reg:HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment,CLASSPATH|};{app}\units\jvm-java\rtl;.";MinVersion: 5.0,4.0; Check: IsHKLMWriteable; Components: extend_classpath
; Current user only
Root: HKCU; Subkey: "Environment"; ValueType: String; ValueName: "CLASSPATH"; ValueData: "{reg:HKCU\environment,CLASSPATH|};{app}\units\jvm-java\rtl;.";MinVersion: 5.0,4.0; Check: IsHKLMNotWriteable; Components: extend_classpath
[Types]
Name: Full; Description: Full installation
Name: Minimum; Description: Minimum installation
Name: Custom; Description: Custom installation; Flags: iscustom
|