84 lines
2.9 KiB
Plaintext
84 lines
2.9 KiB
Plaintext
[Setup]
|
|
AppName=Chepuhagram
|
|
AppVersion=2.0.3
|
|
DefaultDirName={userappdata}\ArturKarasevich\Chepuhagram
|
|
UsePreviousAppDir=no
|
|
DefaultGroupName=Chepuhagram
|
|
AppPublisher=ArturKarasevich
|
|
OutputDir=/
|
|
OutputBaseFilename=chepuhagram_setup
|
|
Compression=lzma
|
|
SolidCompression=yes
|
|
PrivilegesRequired=lowest
|
|
|
|
[Languages]
|
|
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
|
|
|
|
[Files]
|
|
; Óêàæèòå ïîëíûé ïóòü ê ïàïêå Release èëè ôàéëû â íåé
|
|
Source: "D:\FlutterProjects\chepuhagram\build\windows\x64\runner\Release\chepuhagram.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "D:\FlutterProjects\chepuhagram\build\windows\x64\runner\Release\ffmpeg.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "D:\FlutterProjects\chepuhagram\build\windows\x64\runner\Release\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs
|
|
Source: "D:\FlutterProjects\chepuhagram\build\windows\x64\runner\Release\*.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
|
|
[Registry]
|
|
Root: HKCU; Subkey: "Software\ArturKarasevich\Chepuhagram"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
|
|
|
|
[Icons]
|
|
; ßðëûê â ìåíþ Ïóñê (ïðèâÿçàí ê çàäà÷å startmenuicon)
|
|
Name: "{group}\Chepuhagram"; Filename: "{app}\chepuhagram.exe"; Tasks: startmenuicon
|
|
; ßðëûê íà ðàáî÷åì ñòîëå (ïðèâÿçàí ê çàäà÷å desktopicon)
|
|
Name: "{userdesktop}\Chepuhagram"; Filename: "{app}\chepuhagram.exe"; Tasks: desktopicon
|
|
|
|
[Run]
|
|
; Àâòîçàïóñê ïîñëå óñòàíîâêè (ïðèâÿçàí ê çàäà÷å launchapp)
|
|
Filename: "{app}\chepuhagram.exe"; Description: "Çàïóñòèòü Chepuhagram"; Flags: nowait postinstall skipifsilent;
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "Ñîçäàòü ÿðëûê íà Ðàáî÷åì ñòîëå"; GroupDescription: "Äîïîëíèòåëüíûå ÿðëûêè:"
|
|
Name: "startmenuicon"; Description: "Ñîçäàòü ÿðëûê â ìåíþ «Ïóñê»"; GroupDescription: "Äîïîëíèòåëüíûå ÿðëûêè:"
|
|
|
|
[Code]
|
|
// --- Ëîãèêà îáíîâëåíèÿ (/update) ---
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
var
|
|
ResultCode: Integer;
|
|
begin
|
|
if (CurStep = ssInstall) and (ExpandConstant('{param:update|false}') = 'true') then
|
|
begin
|
|
// Ïðèíóäèòåëüíîå çàêðûòèå ìåññåíäæåðà ïåðåä îáíîâëåíèåì
|
|
Exec('taskkill', '/F /IM chepuhagram.exe /T', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
|
end;
|
|
end;
|
|
|
|
// --- Àâòîìàòè÷åñêîå îïðåäåëåíèå òåìû è çàïèñü êîíôèãà ---
|
|
function IsDarkMode: Boolean;
|
|
var
|
|
Value: Cardinal;
|
|
begin
|
|
if RegQueryDWordValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Themes\Personalize', 'AppsUseLightTheme', Value) then
|
|
Result := (Value = 0)
|
|
else
|
|
Result := False;
|
|
end;
|
|
|
|
procedure SaveConfig;
|
|
var
|
|
ConfigPath: String;
|
|
ConfigContent: String;
|
|
ThemeStr: String;
|
|
begin
|
|
if IsDarkMode then ThemeStr := 'dark' else ThemeStr := 'light';
|
|
|
|
ConfigPath := ExpandConstant('{app}\config.json');
|
|
// Öâåò ïî óìîë÷àíèþ, òàê êàê GUI óáðàí
|
|
ConfigContent := '{"accent_color": "blue", "theme": "' + ThemeStr + '"}';
|
|
|
|
SaveStringToFile(ConfigPath, ConfigContent, False);
|
|
end;
|
|
|
|
procedure CurStepChangedAfter(CurStep: TSetupStep);
|
|
begin
|
|
if CurStep = ssPostInstall then
|
|
SaveConfig;
|
|
end; |