microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
23.37k stars 1.45k forks source link

Add desktop shortcut for applications #3314

Open soredake opened 1 year ago

soredake commented 1 year ago

Description of the new feature / enhancement

It will be useful for software that does not create desktop shortcuts itself: steascree ppsspp msiafterburner (msi afterburner also contains RTSS software and installer does not create desktop shortcut for it) handbrake keepassxc parsec dupeguru

And for portable programs like: pcsx2-dev yuzu ryujinx insomnia syncthingtray ds4windows melonDS.melonDS Reshade

Similar issue but for start menu shortcuts https://github.com/microsoft/winget-cli/issues/2299

Proposed technical implementation details

Example for AwthWathje.SteaScree non-portable package:

Installers:
- Architecture: x86
  InstallerUrl: https://steascree.download/steascree-1.5.4-windows.exe
  InstallerSha256: DDEB40DE6538F47A6666A656C867261D3349CA01D8F5DD1145B8E74574F270D4
  DesktopShortcut: "${env:ProgramFiles(x86)}\SteaScree\SteaScree.exe" SteaScree

Example for AwthWathje.SteaScree portable package:

Installers:
Installers:
- Architecture: x64
  NestedInstallerType: portable
  NestedInstallerFiles:
  - RelativeFilePath: syncthingtray-1.4.11-x86_64-w64-mingw32.exe
    PortableCommandAlias: syncthingtray
  InstallerUrl: https://github.com/Martchus/syncthingtray/releases/download/v1.4.11/syncthingtray-1.4.11-x86_64-w64-mingw32.exe.zip
  InstallerSha256: 84BB58505DF4E9DE5653352A8357359E8B46D8376E0D6E7E197B0C6786F1C8FB
  DesktopShortcut: <INSTALLPATH>\syncthingtray-1.4.11-x86_64-w64-mingw32.exe SyncthingTray
upintheairsheep commented 1 year ago

Please do not let the manifest create a desktop shortcut by default. It results in desktop clutter