Genymobile / scrcpy

Display and control your Android device
Apache License 2.0
111.35k stars 10.67k forks source link

Statically-linked version of scrcpy for Windows Package Manager installations #5221

Open seangibbz opened 2 months ago

seangibbz commented 2 months ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Yes https://github.com/Genymobile/scrcpy/issues/4389 https://github.com/Genymobile/scrcpy/issues/4027

Describe the solution you'd like A clear and concise description of what you want to happen.

A statically linked release (i.e. a self-contained scrcpy.exe and adb.exe without any DLLs) would allow for manifests that could be installed via the Windows Package Manager (i.e. winget).

Windows Package Manager currently is unable to properly configure symlinks that rely on dynamically-linked libraries https://github.com/microsoft/winget-cli/issues/2711

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

The most straightforward alternative is routinely checking the Releases page for new releases and downloading/installing them manually (which may be less desirable than using a package manager to install / upgrade)

Users might be able to use an alternate package manager (e.g. Chocolatey), though I can't attest to their effectiveness in handling portable installations that rely on dyamically-linked libraries.

Additional context Add any other context or screenshots about the feature request here.

N/A

seangibbz commented 2 months ago

If both scrcpy and adb can be compiled as statically-linked, a winget manifest could be created, citing both executables as:

  NestedInstallerFiles:
  - RelativeFilePath: scrcpy-win[arch]-v[version]\scrcpy.exe
    PortableCommandAlias: scrcpy
  - RelativeFilePath: scrcpy-win[arch]-v[version]\adb.exe
    PortableCommandAlias: adb