mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2024-12-28 04:19:41 -08:00
02e819fc00
this effectively disables signing the uninstaller as somehow inno setup doesn't forward environment variables to the subshell used to run signtool. As we can't authenticate using environment variables that way, we also can't sign with our new certificate. Future thought will need to be given.
49 lines
1.7 KiB
Plaintext
49 lines
1.7 KiB
Plaintext
[Setup]
|
|
AppName=Oh My Posh
|
|
AppVersion=<VERSION>
|
|
VersionInfoVersion=<VERSION>
|
|
DefaultDirName={autopf}\oh-my-posh
|
|
DefaultGroupName=Oh My Posh
|
|
AppPublisher=Jan De Dobbeleer
|
|
AppPublisherURL=https://ohmyposh.dev
|
|
AppSupportURL=https://github.com/JanDeDobbeleer/oh-my-posh/issues
|
|
LicenseFile="bin\COPYING.txt"
|
|
OutputBaseFilename=install
|
|
UninstallDisplayIcon={app}\bin\oh-my-posh.exe
|
|
PrivilegesRequired=lowest
|
|
PrivilegesRequiredOverridesAllowed=dialog
|
|
ChangesEnvironment=yes
|
|
CloseApplications=no
|
|
|
|
[Files]
|
|
Source: "bin\oh-my-posh.exe"; DestDir: "{app}\bin"
|
|
Source: "bin\themes\*"; DestDir: "{app}\themes"
|
|
|
|
[Registry]
|
|
Root: "HKA"; Subkey: "{code:GetEnvironmentKey}"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"; Check: NeedsAddPathHKA(ExpandConstant('{app}\bin'))
|
|
Root: "HKA"; Subkey: "{code:GetEnvironmentKey}"; ValueType: string; ValueName: "POSH_THEMES_PATH"; ValueData: {app}\themes; Flags: preservestringtype
|
|
Root: "HKA"; Subkey: "{code:GetEnvironmentKey}"; ValueType: string; ValueName: "POSH_INSTALLER"; ValueData: {param:installer|manual}; Flags: preservestringtype
|
|
|
|
[Code]
|
|
function GetEnvironmentKey(Param: string): string;
|
|
begin
|
|
if IsAdminInstallMode then
|
|
Result := 'System\CurrentControlSet\Control\Session Manager\Environment'
|
|
else
|
|
Result := 'Environment';
|
|
end;
|
|
|
|
function NeedsAddPathHKA(Param: string): boolean;
|
|
var
|
|
OrigPath: string;
|
|
begin
|
|
if not RegQueryStringValue(HKA, GetEnvironmentKey(''), 'Path', OrigPath)
|
|
then begin
|
|
Result := True;
|
|
exit;
|
|
end;
|
|
// look for the path with leading and trailing semicolon
|
|
// Pos() returns 0 if not found
|
|
Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0;
|
|
end;
|