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 1133 by alloc, Sat Jun 6 12:45:18 2020 UTC

# Line 1 | Line 1
1   #define AppId "{{B67333BB-1CF9-4EFD-A40B-E25B5CB4C8A7}}"
2 < #define AppVersion "1"
2 > #define AppVersion "1.4"
3   #define AppLongName "Anniversary Edition of Oni"
4   #define AppShortName "Anniversary-Edition-Setup"
5  
# Line 17 | Line 17 | DefaultGroupName=Oni AE
17   DirExistsWarning=no
18   AppendDefaultDirName=no
19  
20 + CreateUninstallRegKey=no
21 + Uninstallable=no
22 + UsePreviousAppDir=no
23 +
24 +
25   ArchitecturesInstallIn64BitMode=x64
26   ShowComponentSizes=no
27   AppPublisher=
# Line 41 | Line 46 | en.JavaNotFound=This program needs a Jav
46   [Tasks]
47   Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
48  
44 [Components]
45 Name: "JRE"; Description: "JRE"
46 Name: "AEI"; Description: "AEI"
47
49   [Dirs]
50   Name: "{app}\AE"; Permissions: users-modify
51  
52   [Files]
53 < Source: "AEInstaller2Updater.jar"; DestDir: "{app}\AE\AEInstaller"; Components: AEI
54 < Source: "JRE\*"; DestDir: "{app}\AE\AEInstaller\JRE"; Excludes: ".svn"; Flags: createallsubdirs recursesubdirs onlyifdoesntexist; Components: JRE
55 < Source: "AElogo.ico"; DestDir: "{app}\AE\AEInstaller"; Components: AEI
53 > Source: "AEInstaller2Updater.jar"; DestDir: "{app}\AE\AEInstaller"
54 > Source: "JRE\*"; DestDir: "{app}\AE\AEInstaller\JRE"; Excludes: ".svn"; Flags: createallsubdirs recursesubdirs onlyifdoesntexist
55 > Source: "AElogo.ico"; DestDir: "{app}\AE\AEInstaller"
56  
57   [Icons]
58 < 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
59 < 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
60 < 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
61 < 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
58 > 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"
59 > 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"
60 > 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"
61 > 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
62  
63   [Run]
64 < 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
64 > Filename: "{app}\AE\AEInstaller\JRE\bin\javaw.exe"; WorkingDir: "{app}\AE\AEInstaller"; Parameters: "-Dsun.java2d.d3d=false -jar AEInstaller2Updater.jar"; Flags: runasoriginaluser; BeforeInstall: WriteProxyData
65  
66  
67   [Code]
68   var
69 <  javaPath: String;
70 <
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);
69 >  PageUseProxy: TInputOptionWizardPage;
70 >  PageProxyData: TInputQueryWizardPage;
71  
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;
72  
73   procedure InitializeWizard();
170 var
171  Components : TNewCheckListbox;
172  i : integer;
74   begin
75 <      Components := WizardForm.ComponentsList;
76 <      i := Components.Items.IndexOf('JRE');
77 <      if i <> -1 then
78 <      begin
79 <        Components.ItemEnabled[i] := false;
80 <        Components.Checked[i] := not IsJavaInstalled();
81 <      end;
82 <      i := Components.Items.IndexOf('AEI');
182 <      if i <> -1 then
183 <      begin
184 <        Components.ItemEnabled[i] := false;
185 <        Components.Checked[i] := true;
186 <      end;
75 >  PageUseProxy := CreateInputOptionPage(wpSelectTasks, 'Internet connection type', '', 'Do you require a proxy to connect to the internet?', true, false);
76 >  PageUseProxy.Add('Direct connection');
77 >  PageUseProxy.Add('Use proxy');
78 >  PageUseProxy.Values[0] := true;
79 >
80 >  PageProxyData := CreateInputQueryPage(PageUseProxy.ID, 'Proxy data', '', 'Please enter the data required to connect to your proxy.');
81 >  PageProxyData.Add('Hostname or IP:', False);
82 >  PageProxyData.Add('Port:', False);
83   end;
84  
85   function DirOk(Path: String): boolean;
# Line 206 | Line 102 | begin
102   end;
103  
104  
105 + function EnterProxyData(): Boolean;
106 + begin
107 +  Result := PageUseProxy.SelectedValueIndex = 1;
108 + end;
109 +
110   function ShouldSkipPage(PageID: Integer): Boolean;
111   begin
112 <  Result := PageID = wpSelectComponents;
112 >  Result := false;
113 >  if (PageID = PageProxyData.ID) then
114 >    Result := not EnterProxyData();
115   end;
116  
117 +
118   function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
119   begin
120    Result := MemoUserInfoInfo + NewLine;
121    Result := Result + MemoDirInfo + NewLine;
122    Result := Result + MemoGroupInfo + NewLine;
123    Result := Result + MemoTasksInfo + NewLine;
124 +
125 +  if (EnterProxyData()) then
126 +    Result := Result + NewLine + 'Set proxy configuration';
127   end;
128  
129 +
130 + procedure WriteProxyData();
131 + begin
132 +  if (EnterProxyData()) then
133 +  begin
134 +    SaveStringToFile(ExpandConstant('{app}') + '\AE\AEInstaller\AEI-ProxySettings.xml',
135 +        '<?xml version="1.0" ?><Proxy><useProxy>true</useProxy><hostOrIp>'+PageProxyData.Values[0]+'</hostOrIp><port>'+PageProxyData.Values[1]+'</port></Proxy>',
136 +        False);
137 +  end;
138 + end;

Diff Legend

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