Skip to content

Commit 3cabd1a

Browse files
committed
feat: Add icon conversion script and integrate the new icon into the installer and application shortcuts.
1 parent fb76abe commit 3cabd1a

3 files changed

Lines changed: 32 additions & 3 deletions

File tree

assets/icon.ico

14.5 KB
Binary file not shown.

convert_icon.ps1

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
Add-Type -AssemblyName System.Drawing
3+
$source = "$PSScriptRoot\extension\logo.png"
4+
$dest = "$PSScriptRoot\assets\icon.ico"
5+
6+
if (Test-Path $source) {
7+
try {
8+
$img = [System.Drawing.Bitmap]::FromFile($source)
9+
# Create a new bitmap with standard icon size if needed, but let's try direct conversion first
10+
# But for best quality, let's just use GetHicon
11+
$iconHandle = $img.GetHicon()
12+
$icon = [System.Drawing.Icon]::FromHandle($iconHandle)
13+
14+
$fs = New-Object System.IO.FileStream($dest, [System.IO.FileMode]::Create)
15+
$icon.Save($fs)
16+
$fs.Close()
17+
18+
$icon.Dispose() # Important to release handle
19+
$img.Dispose()
20+
21+
Write-Host "Success: Created $dest"
22+
} catch {
23+
Write-Host "Error: $_"
24+
}
25+
} else {
26+
Write-Host "Source file not found: $source"
27+
}

setup.iss

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ DefaultGroupName={#MyAppName}
2525
PrivilegesRequired=admin
2626
OutputDir=build
2727
OutputBaseFilename=ProXPL_Installer_v{#MyAppVersion}
28-
;SetupIconFile=assets\icon.ico
28+
SetupIconFile=assets\icon.ico
2929
SolidCompression=yes
3030
WizardStyle=modern
3131
WizardImageFile=extension\logo.png
@@ -48,12 +48,14 @@ Source: "bin\*.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
4848
Source: "lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs createallsubdirs
4949
; Documentation
5050
Source: "docs\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs
51+
; Assets
52+
Source: "assets\*"; DestDir: "{app}\assets"; Flags: ignoreversion recursesubdirs createallsubdirs
5153
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
5254

5355
[Icons]
54-
Name: "{group}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"
56+
Name: "{group}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; IconFilename: "{app}\assets\icon.ico"
5557
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
56-
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Tasks: desktopicon
58+
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{app}\assets\icon.ico"
5759

5860
[Registry]
5961
Root: HKA; Subkey: "Software\Classes\.prox"; ValueType: string; ValueName: ""; ValueData: "ProXPLSourceFile"; Flags: uninsdeletevalue

0 commit comments

Comments
 (0)