ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/Setup/Windows/AEI.iss
(Generate patch)

Comparing AE/Setup/Windows/AEI.iss (file contents):
Revision 818 by alloc, Sat Apr 13 23:31:58 2013 UTC vs.
Revision 1015 by alloc, Mon Mar 23 15:48:06 2015 UTC

# Line 1 | Line 1
1   #define AppId "{{B67333BB-1CF9-4EFD-A40B-E25B5CB4C8A7}}"
2 < #define AppVersion "1"
2 > #define AppVersion "1.2"
3   #define AppLongName "Anniversary Edition of Oni"
4   #define AppShortName "Anniversary-Edition-Setup"
5  
# Line 41 | Line 41 | en.JavaNotFound=This program needs a Jav
41   [Tasks]
42   Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
43  
44 [Components]
45 Name: "JRE"; Description: "JRE"
46 Name: "AEI"; Description: "AEI"
47
44   [Dirs]
45   Name: "{app}\AE"; Permissions: users-modify
46  
47   [Files]
48 < Source: "AEInstaller2Updater.jar"; DestDir: "{app}\AE\AEInstaller"; Components: AEI
49 < Source: "JRE\*"; DestDir: "{app}\AE\AEInstaller\JRE"; Excludes: ".svn"; Flags: createallsubdirs recursesubdirs onlyifdoesntexist; Components: JRE
50 < Source: "AElogo.ico"; DestDir: "{app}\AE\AEInstaller"; Components: AEI
48 > Source: "AEInstaller2Updater.jar"; DestDir: "{app}\AE\AEInstaller"
49 > Source: "JRE\*"; DestDir: "{app}\AE\AEInstaller\JRE"; Excludes: ".svn"; Flags: createallsubdirs recursesubdirs onlyifdoesntexist
50 > Source: "AElogo.ico"; DestDir: "{app}\AE\AEInstaller"
51  
52   [Icons]
53 < Name: "{app}\AE\AEInstaller2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Check: not IsJavaInstalled
54 < Name: "{app}\AE\AEInstaller2Updater"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Check: not IsJavaInstalled
55 < Name: "{group}\AEInstaller 2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Check: not IsJavaInstalled
56 < Name: "{commondesktop}\AEInstaller 2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Tasks: desktopicon; Check: not IsJavaInstalled
61 < Name: "{app}\AE\AEInstaller2"; Filename: "{code:GetJavaPath}\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Check: IsJavaInstalled
62 < Name: "{app}\AE\AEInstaller2Updater"; Filename: "{code:GetJavaPath}\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Check: IsJavaInstalled
63 < Name: "{group}\AEInstaller 2"; Filename: "{code:GetJavaPath}\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Check: IsJavaInstalled
64 < Name: "{commondesktop}\AEInstaller 2"; Filename: "{code:GetJavaPath}\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Tasks: desktopicon; Check: IsJavaInstalled
53 > Name: "{app}\AE\AEInstaller2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"
54 > Name: "{app}\AE\AEInstaller2Updater"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"
55 > Name: "{group}\AEInstaller 2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"
56 > Name: "{commondesktop}\AEInstaller 2"; Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; IconFilename: "{app}\AE\AEInstaller\AElogo.ico"; Parameters: "-Dsun.java2d.d3d=false -jar bin\AEInstaller2.jar"; Tasks: desktopicon
57  
58   [Run]
59 < Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Flags: runasoriginaluser; Check: not IsJavaInstalled
68 < Filename: "{code:GetJavaPath}\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Flags: runasoriginaluser; Check: IsJavaInstalled
59 > Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Flags: runasoriginaluser; BeforeInstall: WriteProxyData
60  
61  
62   [Code]
63   var
64 <  javaPath: String;
64 >  PageUseProxy: TInputOptionWizardPage;
65 >  PageProxyData: TInputQueryWizardPage;
66  
75 procedure DecodeVersion (verstr: String; var verint: array of Integer);
76 var
77  i,p: Integer; s: string;
78 begin
79  // initialize array
80  verint := [0,0,0,0];
81  i := 0;
82  while ((Length(verstr) > 0) and (i < 4)) do
83  begin
84    p := pos ('.', verstr);
85    if p > 0 then
86    begin
87      if p = 1 then s:= '0' else s:= Copy (verstr, 1, p - 1);
88      verint[i] := StrToInt(s);
89      i := i + 1;
90      verstr := Copy (verstr, p+1, Length(verstr));
91    end
92    else
93    begin
94      verint[i] := StrToInt (verstr);
95      verstr := '';
96    end;
97  end;
98
99 end;
100
101 function CompareVersion (ver1, ver2: String) : Integer;
102 var
103  verint1, verint2: array of Integer;
104  i: integer;
105 begin
106  SetArrayLength (verint1, 4);
107  DecodeVersion (ver1, verint1);
108
109  SetArrayLength (verint2, 4);
110  DecodeVersion (ver2, verint2);
111
112  Result := 0; i := 0;
113  while ((Result = 0) and ( i < 4 )) do
114  begin
115    if verint1[i] > verint2[i] then
116      Result := 1
117    else
118      if verint1[i] < verint2[i] then
119        Result := -1;
120    i := i + 1;
121  end;
122
123 end;
124
125 procedure CheckJavaRuntime();
126 var
127  W6432: Boolean;
128  Res: Boolean;
129  JavaVer: String;
130 begin
131  W6432 := False;
132  Res := RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVer);
133  if (Res = False) and IsWin64() then
134  begin
135    Res := RegQueryStringValue(HKLM32, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVer);
136    W6432 := Res;
137  end;
138  if Res = True then
139  begin
140    if Length( JavaVer ) > 0 then
141    begin
142        if CompareVersion(JavaVer, '{#MinJavaVersion}') >= 0 then
143        begin
144        if W6432 then
145          Res := RegQueryStringValue(HKLM32, 'SOFTWARE\JavaSoft\Java Runtime Environment\'+JavaVer, 'JavaHome', javaPath)
146        else
147          Res := RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment\'+JavaVer, 'JavaHome', javaPath);
148        end;
149    end;
150  end;
151 end;
152
153 function IsJavaInstalled(): Boolean;
154 begin
155  Result := Length(javaPath) > 0;
156 end;
157
158 function GetJavaPath(Param: String): String;
159 begin
160  Result := javaPath;
161 end;
162
163 function InitializeSetup(): Boolean;
164 begin
165  CheckJavaRuntime();
166  Result := True;
167 end;
67  
68   procedure InitializeWizard();
170 var
171  Components : TNewCheckListbox;
172  i : integer;
69   begin
70 <      Components := WizardForm.ComponentsList;
71 <      i := Components.Items.IndexOf('JRE');
72 <      if i <> -1 then
73 <      begin
74 <        Components.ItemEnabled[i] := false;
75 <        Components.Checked[i] := not IsJavaInstalled();
76 <      end;
77 <      i := Components.Items.IndexOf('AEI');
182 <      if i <> -1 then
183 <      begin
184 <        Components.ItemEnabled[i] := false;
185 <        Components.Checked[i] := true;
186 <      end;
70 >  PageUseProxy := CreateInputOptionPage(wpSelectTasks, 'Internet connection type', '', 'Do you require a proxy to connect to the internet?', true, false);
71 >  PageUseProxy.Add('Direct connection');
72 >  PageUseProxy.Add('Use proxy');
73 >  PageUseProxy.Values[0] := true;
74 >
75 >  PageProxyData := CreateInputQueryPage(PageUseProxy.ID, 'Proxy data', '', 'Please enter the data required to connect to your proxy.');
76 >  PageProxyData.Add('Hostname or IP:', False);
77 >  PageProxyData.Add('Port:', False);
78   end;
79  
80   function DirOk(Path: String): boolean;
# Line 206 | Line 97 | begin
97   end;
98  
99  
100 + function EnterProxyData(): Boolean;
101 + begin
102 +  Result := PageUseProxy.SelectedValueIndex = 1;
103 + end;
104 +
105   function ShouldSkipPage(PageID: Integer): Boolean;
106   begin
107 <  Result := PageID = wpSelectComponents;
107 >  Result := false;
108 >  if (PageID = PageProxyData.ID) then
109 >    Result := not EnterProxyData();
110   end;
111  
112 +
113   function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
114   begin
115    Result := MemoUserInfoInfo + NewLine;
116    Result := Result + MemoDirInfo + NewLine;
117    Result := Result + MemoGroupInfo + NewLine;
118    Result := Result + MemoTasksInfo + NewLine;
119 +
120 +  if (EnterProxyData()) then
121 +    Result := Result + NewLine + 'Set proxy configuration';
122   end;
123  
124 +
125 + procedure WriteProxyData();
126 + begin
127 +  if (EnterProxyData()) then
128 +  begin
129 +    SaveStringToFile(ExpandConstant('{app}') + '\AE\AEInstaller\AEI-ProxySettings.xml',
130 +        '<?xml version="1.0" ?><Proxy><useProxy>true</useProxy><hostOrIp>'+PageProxyData.Values[0]+'</hostOrIp><port>'+PageProxyData.Values[1]+'</port></Proxy>',
131 +        False);
132 +  end;
133 + end;

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)