Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SysInternals tools #650

Closed
michael-hawker opened this issue May 21, 2020 · 13 comments
Closed

Add SysInternals tools #650

michael-hawker opened this issue May 21, 2020 · 13 comments
Labels
Blocking-Issue Manifest validation is blocked by a known issue. Help-Wanted This is a good candidate work item from the community.
Milestone

Comments

@michael-hawker
Copy link

Description of the new feature/enhancement

Should have the commonly used SysInternals tools as part of the index. See list of tools here: https://docs.microsoft.com/en-us/sysinternals/

@michael-hawker michael-hawker added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label May 21, 2020
@LukasNespor
Copy link
Contributor

I agree, but winget does not support (yet) custom installation procedure e.g. using PowerShell. Package has to point to installer (exe, msi) that is responsible for installation istself. Sysinternals tools are unfortunately packed in zip.

@chrpai
Copy link
Contributor

chrpai commented May 21, 2020

@markrussinovich https://twitter.com/chrpai/status/1263561746410856449

@malxau
Copy link

malxau commented May 22, 2020

See Mark's comment at microsoft/winget-cli#140 (comment)

@chrpai
Copy link
Contributor

chrpai commented May 26, 2020

Wish respect, I can't agree with Mark at all. Just create an installer already. The tool is only 20+ years old.

I see this with multiplatform tools. They only give you a ZIP or EXE to download with no installer. If you ask about it they say oh just use install something /usr/local/bin. Well this is windows not linux. I don't want to manually go create some directory in my profile, add it to the path, download a zip and extract. I just want to download and run an msi or in this case winget install sysinternals.

I've been authoring installers professionally since 1996. MSI since 2000. It would literally take me 2 minutes to create a WiX/MSI installer for these files.

@malxau
Copy link

malxau commented May 26, 2020

Nobody is suggesting that you should manually create a directory and add it to your path with winget.

The question is whether the package should own this operation (via an installer) or whether winget should own the operation. It may be true that creating an MSI installer is relatively straightforward, but note that it needs to be done for each package, including each cross platform package, whereas a solution in winget applies to all packages. Have you tried Chocolatey? The experience there is you install it, specify a location, and all of your tools are populated in that location.

Both approaches have good and bad points. The good thing about storing everything together is you can decide, once, what behavior you want - whether you want a per machine or per user install for example, and have everything follow it. The bad thing about storing everything together is the potential for DLL conflicts, which is why Chocolatey ended up with shimgen, so each executable has a private directory with its private DLLs, but with a single location for executables that shims to the private location.

@michael-hawker
Copy link
Author

I think the key point of a package manager like winget/chocolatey etc... as well is that it's just as easy to uninstall a package as it is to install it. Otherwise, you leave stale state on the system and degrade the experience later.

If winget has some mechanism for a manifest entry for the package to have steps 1) download 'zip' from here, 2) unzip to 'default central package location', 3) add 'something.exe' to path, that'd be great, then maybe can support both scenarios. As long as there's also a way for that to also include an uninstall step in case the program puts files elsewhere on run.

@chrpai
Copy link
Contributor

chrpai commented May 28, 2020

I've done most of the work by creating an MSI for sysinternals suite. You can find it at https://github.com/iswix-llc/SysinternalsSuiteInstaller/releases

Note: This does not violate the EULA because it doesn't contain the binaries. The user downloads the ZIP during the installation procedure. The installer will:

  1. Prompt user for location to download zip from (self hosting offline scenarios)
  2. Download and extract ZIP to installation directory
  3. Place installation directory at end of system path
  4. Create start menu shortcut that points to installation directory.

Next step is for me to create a WinGet YAML request and see if they will merge it or not.

@chrpai
Copy link
Contributor

chrpai commented May 28, 2020

PR submitted #1288

@chrpai
Copy link
Contributor

chrpai commented Jun 1, 2020

My PR was rejected and this raises governance concerns on this project. The README.md instructs developers to submit manifests for their favorite applications and that is exactly what I have done. I will escalate this issue with opencode.

@denelon denelon added Blocking-Issue Manifest validation is blocked by a known issue. Help-Wanted This is a good candidate work item from the community. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Aug 11, 2020
@denelon
Copy link
Contributor

denelon commented Aug 11, 2020

This depends on microsoft/winget-cli#140 and/or possibly microsoft/winget-cli#182.

@ghost ghost added the No-Recent-Activity No activity has occurred on this work item for seven days. label Jan 6, 2021
@ghost
Copy link

ghost commented Jan 6, 2021

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

@nlsdg
Copy link

nlsdg commented Oct 15, 2021

As of yesterday the Sysinternals suite is available in the Microsoft store, and you can also install it via winget.
winget install sysinternals
See Mark Russinovich's Tweet

@ghost ghost removed the No-Recent-Activity No activity has occurred on this work item for seven days. label Oct 15, 2021
@denelon
Copy link
Contributor

denelon commented Oct 15, 2021

PS C:\Users\denelon> winget search sysinternals
Name               Id           Version Source
------------------------------------------------
Sysinternals Suite 9P7KNL5RWT25 Unknown msstore
PS C:\Users\denelon> winget install 9P7KNL5RWT25

@denelon denelon closed this as completed Oct 15, 2021
@denelon denelon added this to the 1.7 Packages milestone Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Blocking-Issue Manifest validation is blocked by a known issue. Help-Wanted This is a good candidate work item from the community.
Projects
None yet
Development

No branches or pull requests

6 participants