sakura icon indicating copy to clipboard operation
sakura copied to clipboard

winget (Windows Package Manager) に登録してほしい

Open juner opened this issue 3 years ago • 8 comments

(必須) やりたいこと(=実現したいこと)

winget で インストール・アップデート・アンインストールできるようにしてほしい。

(省略可) 解決手段の提案

windows package manager(winget) に登録する https://docs.microsoft.com/windows/package-manager/package/

juner avatar Jul 07 '21 02:07 juner

はじめまして。

wingetというコマンドラインツールで導入・更新できるようにしてほしい、という要望でよろしいでしょうか?

なお、更新方法や新バージョンの通知方法については、それぞれ #78 ・ #1131 にて検討されています。

ghost avatar Jul 07 '21 10:07 ghost

@kazasaku そうです。インストーラーがあるソフトウェアだと公式リポジトリにpull request出すだけで登録できるそうなのでissueを上げました。よろしくお願いいたします。

juner avatar Jul 07 '21 12:07 juner

「winget使ってみませんか」ってことですかね。なぜwingetなのか理由が説明されていないので、これ以上は認識できませんでした。

ghost avatar Jul 07 '21 13:07 ghost

今までも Chocolatey のようなサードパーティー製のパッケージマネージャーはありましたが、winget は MS の開発で、しばらく前に v1.0 も出ましたから、今後 winget が広く使われるようになることは十分あり得るでしょう。

k-takata avatar Jul 07 '21 15:07 k-takata

言いたいことはいろいろあったのですが、wingetやwinget-pkgsの設計・運用方針に対するコメントになってしまうので書かないでおきます。

確かwingetはCUIツールでしたよね? 一般ユーザーのことも考えると、(個人的には)GUIなツールの方がいいと思います。 誰かがGUIフロントエンドを用意すれば別ですが。

ghost avatar Jul 07 '21 16:07 ghost

個人的には、マイクロソフトの最新技術には飛びつくのは危険、だと思っています。

image

最低限ドキュメントの「重要」が外れるまでは手を出すべきではないと思います。 膨大な学習コストを費やしたあと「結局使えない」というケースがままあるためです。

仕様をチラ見した限り、テキトーにYAML書いたら対応できそうです。

YAMLによる定義を「マニュフェスト」って呼ぶのを最近よく見かけるようになった気がします。 生Windows APIを使う環境で「マニュフェスト」と言ったら exe に埋め込む RT_MANIFEST を指すと思います。 まぎらわしいことこの上ないです(RT_MANIFESTを知らなければ混同する危険はありませんが:smiley:

誰かがwingetの仕様を勉強して、「これで対応できそう」をPRする分には問題ないと思います。

berryzplus avatar Jul 07 '21 22:07 berryzplus

YAML 書いて PR 出すだけなら担当してみようかと思い調べてみましたが、現在リリースされているバージョンの winget は zip ファイルからのインストールに対応していないらしく、本プロジェクトが今のところ配布しているパッケージをそのまま登録することはできないようです。zip がサポートされるまで待つか、インストーラーの exe を直接配布するようにプロジェクトのリリース体制を変更する必要があります。前者は該当 issue を読む限りいつになるか分からない雰囲気ですから、本気でやるなら後者ですね。

もし目的が「パッケージマネージャーを使ってインストールすること」なら @KageShiron さん提供の Chocolatey パッケージが利用できます。 (#55)

kengoide avatar Feb 14 '22 17:02 kengoide

最低限ドキュメントの「重要」が外れるまでは手を出すべきではないと思います。

公式ドキュメントの「重要」が外されたことを確認しました。 ※重要には「wingetはpublic previewなので変更される可能性があります」と書かれていました。

■手順抜粋

  1. アプリケーションに関する情報を提供するパッケージ マニフェストを作成します。 マニフェストは、Windows パッケージ マネージャー スキーマに従う YAML ファイルです。
  2. マニフェストを Windows パッケージ マネージャー リポジトリに送信します。 これは、winget ツールがアクセスできるマニフェストのコレクションを含む GitHub のオープン ソース リポジトリです。

なんとなく、1と2は作業分担になりそうに思いました。

1を @k-kagari さんに作っていただくとして、 2を GitHub Actions で実現するのを @kazasaku さんにお願いするのかな?と思いました(他力本願) 意見、要望、文句、その他「オレがやる!」等あれば、ここに書いていく感じでお願いします。

berryzplus avatar Feb 15 '22 04:02 berryzplus