-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathSetup.iss
158 lines (126 loc) · 10.2 KB
/
Setup.iss
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#define AppVersion GetDateTimeString('yy/m/d/h', '.', '.')
#define AppVersion_ GetDateTimeString('yy/m/d/h', '_', '_')
#define AppDomain "ospanel.io"
#define AppTitle "System Preparation Tool"
#define CurrentYear GetDateTimeString('yyyy', '', '')
[Setup]
SourceDir = .
OutputDir = release
OutputBaseFilename = ospanel_sp_tool_{#AppVersion_}
// Application info
AppName = {#AppTitle}
AppVersion = {#AppVersion}
AppPublisherURL = https://{#AppDomain}
AppPublisher = {#AppDomain}
SetupMutex = Global\OSPSystemPreparationTool
VersionInfoCompany = {#AppDomain}
VersionInfoVersion = {#AppVersion}
VersionInfoTextVersion = {#AppVersion}
VersionInfoDescription = {#AppTitle}
VersionInfoProductName = {#AppTitle}
VersionInfoCopyright = Copyright (c) {#CurrentYear}, {#AppDomain}
// Compression
Compression = lzma2/ultra64
InternalCompressLevel = ultra64
LZMAUseSeparateProcess = yes
SolidCompression = yes
// Misc
AllowNoIcons = yes
AllowRootDirectory = yes
AllowUNCPath = no
ArchitecturesAllowed = x64
ArchitecturesInstallIn64BitMode = x64
CloseApplications = no
DefaultDirName = {tmp}
DefaultGroupName = {#AppTitle}
DisableDirPage = yes
DisableProgramGroupPage = yes
DisableReadyPage = yes
DisableStartupPrompt = yes
DisableWelcomePage = yes
MinVersion = 6.1sp1
RestartApplications = no
ShowLanguageDialog = auto
Uninstallable = no
UsePreviousAppDir = no
UsePreviousGroup = no
UsePreviousLanguage = no
UsePreviousPrivileges = no
UsePreviousSetupType = no
UsePreviousTasks = no
[Languages]
Name: "en"; MessagesFile: "lang\en.isl"; LicenseFile: "LICENSE"
Name: "ru"; MessagesFile: "lang\ru.isl"; LicenseFile: "LICENSE"
Name: "ua"; MessagesFile: "lang\ua.isl"; LicenseFile: "LICENSE"
[Tasks]
Name: "task_MSVC"; Description: "{cm:Msvcr}"
Name: "task_HOSTS"; Description: "{cm:UnblHosts}"
Name: "task_SSD"; Description: "{cm:Ssdopts}"; Flags: restart unchecked
[Files]
Source: "resources\hosts"; DestDir: "{sys}\drivers\etc"; Flags: ignoreversion onlyifdoesntexist; Tasks: task_HOSTS; Permissions: users-modify
Source: "{sys}\drivers\etc\hosts"; DestDir: "{sys}\drivers\etc"; Flags: ignoreversion external onlyifdestfileexists; Tasks: task_HOSTS; Permissions: users-modify
Source: "resources\VCRHyb64.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall; Tasks: task_MSVC; Permissions: users-modify
Source: "resources\VC_redist.x86.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall; Tasks: task_MSVC; Permissions: users-modify
Source: "resources\VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall; Tasks: task_MSVC; Permissions: users-modify
[Run]
// Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2022 Redistributable packages
Filename: "{tmp}\VCRHyb64.exe"; Parameters: "/DelVCAll"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: not IsVerySilent
Filename: "{tmp}\VCRHyb64.exe"; Parameters: "/WithOutVC22"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: not IsVerySilent
Filename: "{tmp}\VC_redist.x86.exe"; Parameters: "/install /passive /norestart"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: not IsVerySilent
Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/install /passive /norestart"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: not IsVerySilent
Filename: "{tmp}\VCRHyb64.exe"; Parameters: "/S /DelVCAll"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: IsVerySilent
Filename: "{tmp}\VCRHyb64.exe"; Parameters: "/S /WithOutVC22"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: IsVerySilent
Filename: "{tmp}\VC_redist.x86.exe"; Parameters: "/install /quiet /norestart"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: IsVerySilent
Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/install /quiet /norestart"; Flags: runascurrentuser waituntilterminated; Tasks: task_MSVC; Check: IsVerySilent
// System settings optimization (USER)
Filename: "{sys}\reg.exe"; Parameters: "ADD ""HKEY_CURRENT_USER\Control Panel\Desktop"" /v AutoEndTasks /t REG_SZ /d 0 /f"; Flags: runasoriginaluser runhidden waituntilterminated
Filename: "{sys}\reg.exe"; Parameters: "ADD ""HKEY_CURRENT_USER\Control Panel\Desktop"" /v WaitToKillAppTimeout /t REG_SZ /d 30000 /f"; Flags: runasoriginaluser runhidden waituntilterminated
Filename: "{sys}\reg.exe"; Parameters: "ADD ""HKEY_CURRENT_USER\Control Panel\Desktop"" /v HungAppTimeout /t REG_SZ /d 30000 /f"; Flags: runasoriginaluser runhidden waituntilterminated
// System settings optimization (ADMIN)
Filename: "{sys}\sc.exe"; Parameters: "config SysMain start= auto"; Flags: runascurrentuser runhidden waituntilterminated
Filename: "{sys}\sc.exe"; Parameters: "start SysMain"; Flags: runascurrentuser runhidden waituntilterminated
[Registry]
// System settings optimization for SSD
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\FileSystem"; ValueType: dword; ValueName: "DisableDeleteNotification"; ValueData: "0"; Flags: deletevalue; Tasks: task_SSD
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\FileSystem"; ValueType: dword; ValueName: "NtfsDisable8dot3NameCreation"; ValueData: "1"; Flags: deletevalue; Tasks: task_SSD
// Network settings optimization
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider"; ValueType: dword; ValueName: "LocalPriority"; ValueData: "4"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider"; ValueType: dword; ValueName: "HostsPriority"; ValueData: "5"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider"; ValueType: dword; ValueName: "DnsPriority"; ValueData: "6"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider"; ValueType: dword; ValueName: "NetbtPriority"; ValueData: "7"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Dnscache\Parameters"; ValueType: dword; ValueName: "NegativeCacheTime"; ValueData: "300"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Dnscache\Parameters"; ValueType: dword; ValueName: "NetFailureCacheTime"; ValueData: "30"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\Dnscache\Parameters"; ValueType: dword; ValueName: "NegativeSOACacheTime"; ValueData: "120"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters"; ValueType: dword; ValueName: "DisabledComponents"; ValueData: "32"; Flags: deletevalue
// System settings optimization (ADMIN)
Root: "HKCU"; Subkey: "Control Panel\Desktop"; ValueType: string; ValueName: "AutoEndTasks"; ValueData: "0"; Flags: deletevalue
Root: "HKCU"; Subkey: "Control Panel\Desktop"; ValueType: string; ValueName: "WaitToKillAppTimeout"; ValueData: "30000"; Flags: deletevalue
Root: "HKCU"; Subkey: "Control Panel\Desktop"; ValueType: string; ValueName: "HungAppTimeout"; ValueData: "30000"; Flags: deletevalue
Root: "HKU"; Subkey: ".DEFAULT\Control Panel\Desktop"; ValueType: string; ValueName: "AutoEndTasks"; ValueData: "0"; Flags: deletevalue
Root: "HKU"; Subkey: ".DEFAULT\Control Panel\Desktop"; ValueType: string; ValueName: "WaitToKillAppTimeout"; ValueData: "30000"; Flags: deletevalue
Root: "HKU"; Subkey: ".DEFAULT\Control Panel\Desktop"; ValueType: string; ValueName: "HungAppTimeout"; ValueData: "30000"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\FileSystem"; ValueType: dword; ValueName: "LongPathsEnabled"; ValueData: "1"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"; ValueType: dword; ValueName: "ClearPageFileAtShutdown"; ValueData: "0"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"; ValueType: dword; ValueName: "LargeSystemCache"; ValueData: "0"; Flags: deletevalue
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters"; ValueName: "EnablePrefetcher"; ValueData: "0"; Flags: deletevalue; ValueType: dword
[Code]
// Silent mode checking
function IsVerySilent: Boolean;
var
i: Integer;
begin
Result := False;
for i := 1 to ParamCount do
if CompareText(ParamStr(i), '/VERYSILENT') = 0 then
begin
Result := True;
Exit;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
WizardForm.FinishedHeadingLabel.Font.Style := [];
end;
end;