mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-09 04:22:20 +00:00
Windows: shortcuts take pdfcraft.exe's icon, so a taskbar pin keeps it (#6184)
This commit is contained in:
1 parent
a50bc63292
commit
0d22662c38
2 files changed
+10
-6
No files matched your search
@@ -133,14 +133,17 @@
|
||||
ones point at a Windows Installer descriptor rather than the program, which Windows can't
|
||||
use as a file handler (#107), and 0.2.1's advertised one went missing from the Start menu
|
||||
(#143). Each has its own component with an HKLM key path, so Windows Installer removes it
|
||||
on uninstall; in this per-machine package both folders are the all-users ones. -->
|
||||
on uninstall; in this per-machine package both folders are the all-users ones. They take
|
||||
their icon from pdfcraft.exe, not the Icon table: Windows Installer keeps that copy under
|
||||
the ProductCode, which every release changes, so a taskbar pin made from a shortcut that
|
||||
named it shows a blank icon once an update removes the old release. -->
|
||||
<Component Id="PdfcraftStartMenuShortcut" Directory="ProgramMenuFolder" Guid="DC028192-C233-4F99-9A77-ED458C60DF26">
|
||||
<Shortcut Id="StartMenuShortcut" Name="PdfCraft" Description="PdfCraft PDF workbench" Target="[#PdfcraftExe]" WorkingDirectory="INSTALLFOLDER" Icon="PdfcraftIcon.ico" IconIndex="0" />
|
||||
<Shortcut Id="StartMenuShortcut" Name="PdfCraft" Description="PdfCraft PDF workbench" Target="[#PdfcraftExe]" WorkingDirectory="INSTALLFOLDER" />
|
||||
<RegistryValue Root="HKMU" Key="Software\PdfCraft\Shortcuts" Name="StartMenu" Type="integer" Value="1" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component Id="PdfcraftDesktopShortcut" Directory="DesktopFolder" Guid="F6948627-32AB-4D78-8865-0FDF417CE442" Condition="INSTALLDESKTOPSHORTCUT = 1">
|
||||
<Shortcut Id="DesktopShortcut" Name="PdfCraft" Description="PdfCraft PDF workbench" Target="[#PdfcraftExe]" WorkingDirectory="INSTALLFOLDER" Icon="PdfcraftIcon.ico" IconIndex="0" />
|
||||
<Shortcut Id="DesktopShortcut" Name="PdfCraft" Description="PdfCraft PDF workbench" Target="[#PdfcraftExe]" WorkingDirectory="INSTALLFOLDER" />
|
||||
<RegistryValue Root="HKMU" Key="Software\PdfCraft\Shortcuts" Name="Desktop" Type="integer" Value="1" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
|
||||
@@ -73,15 +73,16 @@ $status = Read-Row 'SELECT `Text` FROM `Control` WHERE `Dialog_` = ''InstallProg
|
||||
Assert-Equal $status[0] 'Please wait while setup completes.' 'Persistent progress message'
|
||||
Assert-NoRow 'SELECT `Event` FROM `EventMapping` WHERE `Dialog_` = ''InstallProgress'' AND `Control_` = ''Status''' 'progress text subscription'
|
||||
|
||||
# Plain (non-advertised) shortcuts to pdfcraft.exe, each in its own component; the desktop one is
|
||||
# gated by INSTALLDESKTOPSHORTCUT, which is secure so the UI choice reaches the
|
||||
# Plain (non-advertised) shortcuts to pdfcraft.exe, each in its own component and with no Icon
|
||||
# table entry, so the shell takes the exe's own icon and a pin keeps it across updates. The
|
||||
# desktop one is gated by INSTALLDESKTOPSHORTCUT, which is secure so the UI choice reaches the
|
||||
# elevated install.
|
||||
foreach ($entry in @(@('StartMenuShortcut', 'ProgramMenuFolder', 'PdfcraftStartMenuShortcut', ''),
|
||||
@('DesktopShortcut', 'DesktopFolder', 'PdfcraftDesktopShortcut', 'INSTALLDESKTOPSHORTCUT = 1'))) {
|
||||
$row = Read-Row ('SELECT `Directory_`, `Target`, `Icon_`, `WkDir`, `Component_` FROM `Shortcut` WHERE `Shortcut` = ''' + $entry[0] + '''') 5
|
||||
Assert-Equal $row[0] $entry[1] "$($entry[0]) directory"
|
||||
Assert-Equal $row[1] '[#PdfcraftExe]' "$($entry[0]) target"
|
||||
Assert-Equal $row[2] 'PdfcraftIcon.ico' "$($entry[0]) icon"
|
||||
Assert-Equal $row[2] '' "$($entry[0]) icon"
|
||||
Assert-Equal $row[3] 'INSTALLFOLDER' "$($entry[0]) working directory"
|
||||
Assert-Equal $row[4] $entry[2] "$($entry[0]) component"
|
||||
$component = Read-Row ('SELECT `Directory_`, `Condition` FROM `Component` WHERE `Component` = ''' + $entry[2] + '''') 2
|
||||
|
||||
Reference in new issue
Block a user