This is apparently the other half of what we should have done when we
called SetCurrentProcessExplicitAppUserModelID at run time: it
associates to PuTTY's Start Menu shortcut the same identifier that we
give to the running PuTTY process, so that jump lists saved under the
latter will be visible to users mousing over the former.
I've also done the same thing to the desktop shortcut, just in case
that does anything useful.
Source="$(var.Builddir)putty.exe" KeyPath="yes">
<Shortcut Id="startmenuPuTTY" Directory="ProgramMenuDir"
WorkingDirectory="INSTALLDIR"
Source="$(var.Builddir)putty.exe" KeyPath="yes">
<Shortcut Id="startmenuPuTTY" Directory="ProgramMenuDir"
WorkingDirectory="INSTALLDIR"
- Name="PuTTY" Advertise="no" />
+ Name="PuTTY" Advertise="no">
+ <!-- Set AppUserModelId to match what PuTTY sets at runtime.
+ Source for the GUID key:
+https://msdn.microsoft.com/en-us/library/windows/desktop/dd391569(v=vs.85).aspx
+ via http://stackoverflow.com/questions/2820983/ -->
+ <ShortcutProperty
+ Key="{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5"
+ Value="SimonTatham.PuTTY" />
+ </Shortcut>
</File>
</Component>
<Component Id="Pageant_Component"
</File>
</Component>
<Component Id="Pageant_Component"
Guid="$(var.Desktop_Shortcut_Component_GUID)">
<Shortcut Id="DesktopPuTTY"
WorkingDirectory="INSTALLDIR" Target="[INSTALLDIR]putty.exe"
Guid="$(var.Desktop_Shortcut_Component_GUID)">
<Shortcut Id="DesktopPuTTY"
WorkingDirectory="INSTALLDIR" Target="[INSTALLDIR]putty.exe"
- Name="$(var.ProgramName)" Advertise="no" />
+ Name="$(var.ProgramName)" Advertise="no">
+ <!-- Set AppUserModelId to match what PuTTY sets at
+ runtime. I don't know if this does anything directly
+ useful on the desktop version of the shortcut, but we
+ might as well keep it consistent with the Start Menu
+ version in case someone starts manually moving or
+ copying shortcuts around. -->
+ <ShortcutProperty
+ Key="{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5"
+ Value="SimonTatham.PuTTY" />
+ </Shortcut>
<RegistryValue Root="HKLM"
Key="$(var.RegKeyPathLocation)\DesktopEntry"
Type="string" Value="" KeyPath="yes" />
<RegistryValue Root="HKLM"
Key="$(var.RegKeyPathLocation)\DesktopEntry"
Type="string" Value="" KeyPath="yes" />
Source: "README.txt"; DestDir: "{app}"; Flags: isreadme restartreplace uninsrestartdelete\r
\r
[Icons]\r
Source: "README.txt"; DestDir: "{app}"; Flags: isreadme restartreplace uninsrestartdelete\r
\r
[Icons]\r
-Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"\r
+Name: "{group}\PuTTY"; Filename: "{app}\putty.exe"; AppUserModelID: "SimonTatham.PuTTY"\r
; We have to fall back from the .chm to the older .hlp file on some Windows\r
; versions.\r
Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.chm"; MinVersion: 4.1,5.0\r
; We have to fall back from the .chm to the older .hlp file on some Windows\r
; versions.\r
Name: "{group}\PuTTY Manual"; Filename: "{app}\putty.chm"; MinVersion: 4.1,5.0\r
Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"\r
Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"\r
Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"\r
Name: "{group}\PSFTP"; Filename: "{app}\psftp.exe"\r
Name: "{group}\PuTTYgen"; Filename: "{app}\puttygen.exe"\r
Name: "{group}\Pageant"; Filename: "{app}\pageant.exe"\r
-Name: "{commondesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\common\r
-Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\user\r
+Name: "{commondesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\common; AppUserModelID: "SimonTatham.PuTTY"\r
+Name: "{userdesktop}\PuTTY"; Filename: "{app}\putty.exe"; Tasks: desktopicon\user; AppUserModelID: "SimonTatham.PuTTY"\r
; Putting this in {commonappdata} doesn't seem to work, on 98SE at least.\r
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PuTTY"; Filename: "{app}\putty.exe"; Tasks: quicklaunchicon\r
\r
; Putting this in {commonappdata} doesn't seem to work, on 98SE at least.\r
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PuTTY"; Filename: "{app}\putty.exe"; Tasks: quicklaunchicon\r
\r