@@ -14,18 +14,19 @@ UninstallDisplayName="WingetUI"
14
14
AppId = {{889610CC-4337 -4BDB-AC3B-4F21806C0BDD}
15
15
AppName = {#MyAppName }
16
16
AppVersion = {#MyAppVersion}
17
- ; AppVerName={#MyAppName} {#MyAppVersion}
17
+ AppVerName = {#MyAppName } {#MyAppVersion}
18
18
AppPublisher = {#MyAppPublisher}
19
- AppPublisherURL = {#MyAppURL}
19
+ AppPublisherURL = ' https://www.marticliment.com/ '
20
20
AppSupportURL = {#MyAppURL}
21
21
AppUpdatesURL = {#MyAppURL}
22
22
VersionInfoVersion = 2.0 .3.0
23
23
DefaultDirName = " {commonpf64}\WingetUI"
24
24
DisableProgramGroupPage = yes
25
25
DisableDirPage = no
26
+ DirExistsWarning = no
26
27
CloseApplications = no
27
28
; Remove the following line to run in administrative install mode (install for all users.)
28
- PrivilegesRequired = lowest
29
+ ; PrivilegesRequired=lowest
29
30
OutputBaseFilename = WingetUI Installer
30
31
OutputDir = .
31
32
MinVersion = 10.0
@@ -37,7 +38,10 @@ WizardStyle=classic
37
38
WizardImageFile = INSTALLER.BMP
38
39
WizardSmallImageFile = wingetui\resources\icon.bmp
39
40
DisableWelcomePage = no
40
- UsePreviousTasks = yes
41
+ AllowUNCPath = no
42
+ UsePreviousTasks = yes
43
+ UsePreviousPrivileges= no
44
+ UsePreviousAppDir = no
41
45
ChangesEnvironment = yes
42
46
RestartIfNeededByRun = no
43
47
Uninstallable = IsTaskSelected(' regularinstall' )
@@ -70,19 +74,42 @@ Name: "Ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
70
74
Name : " Korean" ; MessagesFile : " compiler:Languages\Korean.isl"
71
75
72
76
[InstallDelete]
73
- Type : filesandordirs ; Name : " {autopf}\WingetUI\*.pyc" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
74
- Type : filesandordirs ; Name : " {autopf}\WingetUI\PySide6\*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
75
- Type : filesandordirs ; Name : " {autopf}\WingetUI\pip-23.0.dist-info" ;
76
- Type : filesandordirs ; Name : " {autopf}\WingetUI\pip-23.1.2.dist-info" ;
77
- Type : filesandordirs ; Name : " {autopf}\WingetUI\setuptools-65.5.0.dist-info" ;
78
- Type : filesandordirs ; Name : " {autopf}\WingetUI\sudo" ;
79
- Type : filesandordirs ; Name : " {autopf}\WingetUI\*.pyc" ;
80
- Type : filesandordirs ; Name : " {autopf}\WingetUI\winget-cli\*" ;
81
- Type : filesandordirs ; Name : " {autopf}\WingetUI\resources\*" ;
77
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\*.pyc" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
78
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\PySide6\*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
79
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\clr_loader\*" ;
80
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\components\*" ;
81
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\data\*" ;
82
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\lang\*" ;
83
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\markupsafe\*" ;
84
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\PackageManagers\*" ;
85
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\PySide6\*" ;
86
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\pythonnet\*" ;
87
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\pywin32_system32\*" ;
88
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\*" ;
89
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\shiboken6\*" ;
90
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\winsdk\*" ;
91
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\pip-23.1.2.dist-info" ;
92
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\setuptools-65.5.0.dist-info" ;
93
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\sudo\*" ;
94
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\winget-cli\*" ;
95
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\*" ;
96
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\*.pyd" ;
97
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\api-ms-win*.dll" ;
98
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\python*.dll" ;
99
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\resources\wingetui.exe" ;
100
+ Type : filesandordirs ; Name : " {app} \*.pyc" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
101
+ Type : filesandordirs ; Name : " {app} \PySide6\*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
102
+ Type : filesandordirs ; Name : " {app} \pip-23.0.dist-info" ;
103
+ Type : filesandordirs ; Name : " {app} \pip-23.1.2.dist-info" ;
104
+ Type : filesandordirs ; Name : " {app} \setuptools-65.5.0.dist-info" ;
105
+ Type : filesandordirs ; Name : " {app} \sudo" ;
106
+ Type : filesandordirs ; Name : " {app} \winget-cli\*" ;
107
+ Type : filesandordirs ; Name : " {app} \resources\*" ;
82
108
Type : filesandordirs ; Name : " {username} \WingetUI\resources\*" ;
83
109
84
110
[UninstallDelete]
85
- Type : filesandordirs ; Name : " {autopf}\WingetUI\*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
111
+ Type : filesandordirs ; Name : " {userpf} \WingetUI\*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
112
+ Type : filesandordirs ; Name : " {app} \*" ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
86
113
87
114
[Code]
88
115
procedure InitializeWizard ;
@@ -161,6 +188,36 @@ begin
161
188
end ;
162
189
end ;
163
190
191
+ function IsCharValid (Value : Char): Boolean;
192
+ begin
193
+ Result := Ord(Value ) <= $007F ;
194
+ end ;
195
+
196
+ function IsDirNameValid (const Value : string): Boolean;
197
+ var
198
+ I: Integer;
199
+ begin
200
+ Result := False;
201
+ for I := 1 to Length(Value ) do
202
+ if not IsCharValid(Value [I]) then
203
+ Exit;
204
+ Result := True;
205
+ end ;
206
+
207
+ function NextButtonClick (CurPageID: Integer): Boolean;
208
+ begin
209
+ Result := True;
210
+
211
+ if (CurPageID = wpSelectDir) and
212
+ not IsDirNameValid(WizardForm.DirEdit.Text) then
213
+ begin
214
+ Result := False;
215
+ MsgBox(' There is an invalid character in the selected install location. ' +
216
+ ' Install location cannot contain special characters. ' +
217
+ ' Please input a valid path to continue, such as ' +ExpandConstant(' {commonpf64}' )+' \WingetUI' , mbError, MB_OK);
218
+ end ;
219
+ end ;
220
+
164
221
165
222
[Tasks]
166
223
Name : " portableinstall" ; Description : " Perform a portable installation" ; GroupDescription: " Installation type" ; Flags : unchecked exclusive
@@ -174,13 +231,15 @@ Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType:
174
231
[Files]
175
232
Source : " Y:\WinGetUI-Store\wingetuiBin\{#MyAppExeName}" ; DestDir : " {app} " ; Flags : ignoreversion ; BeforeInstall : TripleKill(' WingetUI.exe' , ' winget.exe' , ' choco.exe' );
176
233
Source : " Y:\WinGetUI-Store\wingetuiBin\*" ; DestDir : " {app} " ; Flags : createallsubdirs ignoreversion recursesubdirs ;
234
+ Source : " Y:\WinGetUI-Store\wingetuiBin\choco-cli\*" ; DestDir : " {userpf} \WingetUI\choco-cli" ; Flags : createallsubdirs ignoreversion recursesubdirs ; Tasks: regularinstall
235
+
177
236
; MSVC++ redistributable runtime. Extracted by VC2017RedistNeedsInstall(), if needed.
178
237
Source : " Y:\WinGetUI-Store\vcredist.exe" ; DestDir : {tmp} ; Flags : dontcopy
179
238
Source : " Y:\WinGetUI-Store\SegUIVar.ttf" ; DestDir : " {autofonts}" ; FontInstall: " Segoe UI Variable" ; Flags : onlyifdoesntexist uninsneveruninstall
180
239
181
240
[Icons]
182
- Name : " {autostartmenu }\{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}" ; Tasks: regularinstall\startmenuicon
183
- Name : " {autodesktop }\{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}" ; Tasks: regularinstall\desktopicon
241
+ Name : " {userstartmenu }\{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}" ; Tasks: regularinstall\startmenuicon
242
+ Name : " {userdesktop }\{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}" ; Tasks: regularinstall\desktopicon
184
243
185
244
[Run]
186
245
Filename : " {tmp} \vcredist.exe" ; Flags : runhidden ; Parameters : " /install /norestart /passive" ; StatusMsg : " Installing Microsoft Visual C++ Redistributables (x64)" ; Check : VCRedistNeedsInstall and not CmdLineParamExists(' /NoVCRedist' );
0 commit comments