]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Set our explicit AppUserModelID on our Start Menu shortcut.
authorSimon Tatham <anakin@pobox.com>
Thu, 23 Feb 2017 18:24:11 +0000 (18:24 +0000)
committerSimon Tatham <anakin@pobox.com>
Thu, 23 Feb 2017 18:28:14 +0000 (18:28 +0000)
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.

windows/installer.wxs
windows/putty.iss

index c5455dd5da7af0df5f1ae39d8a11830239feebe0..4a720e40403f77ccbe920f32b638b24f9601c3bb 100644 (file)
                   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"
                    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" />
index 5ecabb78aa47e2ad1e9d82b6275a6ad67fd18ec7..dda68f63b0a7db48c0d8a5f2b4646f5bb1bb9ab3 100644 (file)
@@ -58,7 +58,7 @@ Source: "..\LICENCE"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete
 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
@@ -67,8 +67,8 @@ Name: "{group}\PuTTY Web Site"; Filename: "{app}\website.url"
 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