wingetでインストールできるバージョン(3.7.2)について

  1. wingetでMeryのインストールができるんだ!と思ってインストールしたのはいいのですが、バージョンが3.7.2となっており少し古いようです。
    3.7.15のインストールはwingetではできないのでしょうか?

    インストールは下記コマンドで行いました。
    winget install -e --id Kuro.Mery.Beta

     |  Siro  |  返信
  2. wingetのリポジトリへの登録は、Kuroさんが行ったものではなく、第三者によるものです。
    登録者がリポジトリを更新すれば、そのバージョンがインストールできるはずですが、Kuroさんの手を離れているので、あくまで公式のものではありません。

     |  pizz  |  返信
  3. wingetで配布されているものに対しては以下のように発言されてますね。
    https://www.haijin-boys.com/discussions/6072
    > winget は使ったことがなかったのですが、なかなか面白そうな機能ですね。
    >
    > 確認してみましたところ確かに Mery が登録されているようですが、私が登録したものではありませんし、そういった連絡をいただいたこともありません。
    >
    > 正式版は指定条件下において再配布を許可していますが、ベータ版は再配布を禁止しているので無断で登録されているのはあまり気持ちの良いものではありませんから、本件につきましてはサポート外とさせていただきます。

     |  barrackdo  |  返信
  4. お二方、情報ありがとうございます。
    wingetには公式に登録されたものではないという旨、理解いたしました。

     |  Siro  |  返信
  5. > wingetで配布されているものに対しては以下のように発言されてますね。
    > https://www.haijin-boys.com/discussions/6072
    > > winget は使ったことがなかったのですが、なかなか面白そうな機能ですね。
    > >
    > > 確認してみましたところ確かに Mery が登録されているようですが、私が登録したものではありませんし、そういった連絡をいただいたこともありません。
    > >
    > > 正式版は指定条件下において再配布を許可していますが、ベータ版は再配布を禁止しているので無断で登録されているのはあまり気持ちの良いものではありませんから、本件につきましてはサポート外とさせていただきます。

    いつのまにかwingetに最新のMery 3.7.18が登録されていますね。
    wingetでは再配布をしていなくて、各公式サイトからダウンロードするヘルパープログラムに過ぎないので、以下から誰でも登録のプルリクエストを出すことができてしまいます。

    https://github.com/microsoft/winget-pkgs

    再配布していないからライセンス上の問題はないとはいえ、信義的にそれはどうかと思う。
    作者様から取り下げを依頼すれば、登録削除はされると思います。

     |  enaka  |  返信
  6. 情報ありがとうございます。

    > いつのまにかwingetに最新のMery 3.7.18が登録されていますね。

    確認してみたところ、すでに 3.7.19 の登録用プルリクエストも投稿されていました。

    winget はおっしゃるとおり、再配布そのものではなく、公式サイトからダウンロードするためのヘルパー的な仕組みなので、ライセンス上の問題を指摘するのはちょっと難しいですね。

    ただ、Mery は当サイトで配布していて、サーバーの維持費などは広告収益でまかなっています。

    なので、公式サイトを経由せずに直接ダウンロードされてしまうと、記事を読まずに中身だけ持っていかれることになり、サーバー負荷もこちらが背負うことになるので、運営上ちょっと困ってしまうんですよね😅 (慈善事業でやっているわけではないので、現実的な事情です…)

    今のところ、特に取り締まる予定はありませんが、あまりにも悪質な場合は対応を検討します。

    基本的には「便利に使ってもらえたらうれしい」という気持ちなので、Mery は当サイトから入手していただけると助かります。ついでに、お買い物も楽しんでいただけるとさらにうれしいです😏

    Mery の公開はみなさんの応援で続けられているので、これからも楽しく使っていただけたらうれしいです。

     |  Kuro  |  返信
  7. > > いつのまにかwingetに最新のMery 3.7.18が登録されていますね。
    >
    > 確認してみたところ、すでに 3.7.19 の登録用プルリクエストも投稿されていました。

     3.7.19が出ていたのを見落としてました。
    昨日、winget upgrade -u -rしたときはまだでしたが、今試したら3.7.19が降ってきました。

    > 今のところ、特に取り締まる予定はありませんが、あまりにも悪質な場合は対応を検討します。

    対策するならダウンロードするWebサーバー側でUserAgentとリファラを確認して刎ねるのが簡単ですね。captcha対応したりとか毎回削除依頼とか大変でしょうし。

    > 基本的には「便利に使ってもらえたらうれしい」という気持ちなので、Mery は当サイトから入手していただけると助かります。ついでに、お買い物も楽しんでいただけるとさらにうれしいです😏

    一度だけ変更の手間が掛かりますが「ブラウザで更新内容を確認する」のチェックUIをインストーラーに追加、対話モードの場合はデフォルトOFF、サイレントモードの場合は強制ON、インストール後に広告つき更新内容ページを開くようにすると皆がハッピーかなと思います。

    > Mery の公開はみなさんの応援で続けられているので、これからも楽しく使っていただけたらうれしいです。

    ありがたや~

     |  enaka  |  返信
  8. ご返信ありがとうございます。

    念のため、過去 30 日間のアクセスログを確認してみたところ、総ダウンロード数の約半数がリファラなしの直リンクでした。

    その中でも、User-Agent がMicrosoft-Delivery-Optimization/10.1のアクセスが半数以上を占めており、つまり全体の 4 分の 1 以上が winget (この UA が winget 由来かは確定できませんが) からの直リンクという結果に。なかなか無視できない割合ですね…。

    > 対策するならダウンロードするWebサーバー側でUserAgentとリファラを確認して刎ねるのが簡単ですね。captcha対応したりとか毎回削除依頼とか大変でしょうし。

    そうですね。削除依頼を出すとなると関係者とのやり取りも発生しますし、善意で「便利だから登録しておいた」というケースもあるので、なかなか厄介です。

    それに、これまで自動インストールやアップデートができていたものを妨げてしまうと、逆にトラブルや炎上に発展しかねないので、できればあまり関わりたくないところでもあります。

    > 一度だけ変更の手間が掛かりますが「ブラウザで更新内容を確認する」のチェックUIをインストーラーに追加、対話モードの場合はデフォルトOFF、サイレントモードの場合は強制ON、インストール後に広告つき更新内容ページを開くようにすると皆がハッピーかなと思います。

    それはとても良いアイデアですね。

    ただ、広告のポリシー上、ユーザーの意思 (クリックやリンクを開く操作) 以外で広告ページへ誘導するのは違反になってしまうんですよね。

    ひとまず、winget などの非公式パッケージについては「サポート対象外」である旨を追記して、しばらく様子を見てみます。(とはいえ、実際に winget 経由かどうかを判断する手段はありませんが…)

    さすがに利用が半数を超えるようであれば、そのときに改めて対応を検討したいと思います。

     |  Kuro  |  返信
  9. > その中でも、User-Agent が`Microsoft-Delivery-Optimization/10.1`のアクセスが半数以上を占めており、つまり全体の 4 分の 1 以上が winget (この UA が winget 由来かは確定できませんが) からの直リンクという結果に。なかなか無視できない割合ですね…。

    Microsoft-Delivery-OptimizationってWindows Updateの配信をLAN内のPCでP2Pで共有する仕組みだと思っていたのですが、wingetにも関係するんですか。

    今回試すまでタイムラグがあるので知らなかったのですが、ローカルにインストールしたものであってもwingetに登録されているアプリは、wingetのアップデートの対象になってしまうみたいなので1/4というのも納得です。

    このままタイムリーにwingetに登録され続けると良くない気がしますので、登録は30日待って欲しいとか依頼した方がいいかもしれません。

    > ただ、広告のポリシー上、ユーザーの意思 (クリックやリンクを開く操作) 以外で広告ページへ誘導するのは違反になってしまうんですよね。

    すいません。契約関係は頭にありませんでした。悪さが出来ないように当然の理由でした。
    インストールを実行することもユーザーの意思の反映という気もしますが、これは広告業者に相談しないと判断できないですね。

     |  enaka  |  返信
  10. ご返信ありがとうございます。

    > Microsoft-Delivery-OptimizationってWindows Updateの配信をLAN内のPCでP2Pで共有する仕組みだと思っていたのですが、wingetにも関係するんですか。

    確かではないのですが、winget でアクセスすると Microsoft-Delivery-Optimization が記録されているようです。

    1 回目は winget-cli からのアクセスになるみたいですが、2 回目以降は最適化か何かで別のアクセス方法になっているっぽいです。

    > このままタイムリーにwingetに登録され続けると良くない気がしますので、登録は30日待って欲しいとか依頼した方がいいかもしれません。

    確かに…。リリース直後は勘弁してほしいですね😅

    客寄せ用の「ご自由にお取りください」を、店の壁に穴をあけて裏から持っていかれるような感じですし…😱

    とりあえず、試しにリファラと UA をチェックして弾く設定にしてみました。

    ただ、Microsoft-Delivery-Optimization がどこかにキャッシュしているのか、普通に winget でインストールできちゃうんですよね。

    アクセスログでは 403 になっているので、しばらく様子見です。

    > すいません。契約関係は頭にありませんでした。悪さが出来ないように当然の理由でした。

    いえいえ、最初は「なるほど!」と思いまして、念のため利用規約を調べてみただけです。

    楽天みたいなゆるめのアフィリエイトなら案外大丈夫かもしれませんが、Google 先生の広告はやっぱりしっかり公平ですね。

     |  Kuro  |  返信
  11. > とりあえず、試しにリファラと UA をチェックして弾く設定にしてみました。
    >
    > ただ、Microsoft-Delivery-Optimization がどこかにキャッシュしているのか、普通に winget でインストールできちゃうんですよね。

    多分、Akamai CDNなどによるキャッシュではないでしょうか。
    新バージョンを公開する際は、キャッシュされる前にチェックして弾く設定にしておけば大丈夫そうです。
    ダウンロードが落ち着いたら開放すればwinget待ちの人もそれほど困らないでしょうし。

    > > すいません。契約関係は頭にありませんでした。悪さが出来ないように当然の理由でした。
    >
    > いえいえ、最初は「なるほど!」と思いまして、念のため利用規約を調べてみただけです。

    効果は下がるかもしれませんが最初は広告のないページに飛んで、そこでR18確認ページのように意思確認したら広告付き更新内容ページに飛ぶなら問題ないかも。

     |  enaka  |  返信
  12. > 新バージョンを公開する際は、キャッシュされる前にチェックして弾く設定にしておけば大丈夫そうです。

    そうですね。今のところ、リファラなしかつ WinGet と思われるアクセスは弾くようにしています。

    Linux からの wget なんかもチラホラありますが、なんかかわいいので許可しちゃってます。Wine での検証にもなるし、貴重なサンプルですしねw

    > ダウンロードが落ち着いたら開放すればwinget待ちの人もそれほど困らないでしょうし。

    そこはちょっと考えないとですね。

    自動アップデートに対応できるほど高スペックなレンタルサーバーではないですし、最近はサーバーの CPU が 100% に張り付くこともあって、もしかすると WinGet の影響…?なんて思えてきます。

    WinGet の登録者が信頼できる人なら、GitHub にバイナリを公開して、そちらで登録してもらうのもアリ?

    一応、フォーラムの「ご利用前に必ずお読みください」には、WinGet 経由はサポート対象外である旨を追記しました。

    あと次のバージョンの使用許諾書にも、「無断でパッケージマネージャーに登録しないでね」と明記しておきます。

    やりたくはないけど、最悪、自分で WinGet を管理するのが一番確実なんでしょうね…。いやー、ほんと面倒くさ~い😭

     |  Kuro  |  返信
  13. > WinGet の登録者が信頼できる人なら、GitHub にバイナリを公開して、そちらで登録してもらうのもアリ?

    それもアリですよね。クローズドソースでリリース物だけGitHub、なリポジトリもしばしば見かけますし。

    最近見かけたものだと、SmoothCSV 3なんかがそんな感じでした。
    https://github.com/kohii/smoothcsv3

     |  yuko  |  返信
  14. > やりたくはないけど、最悪、自分で WinGet を管理するのが一番確実なんでしょうね…。いやー、ほんと面倒くさ~い😭

    QuickJS対応ベータ版の前にリリース版を出してVectorや窓の杜に載せてもらうという計画はどうなったんでしたっけ。
    QuickJS非対応リリース版を出してWinGetはVectorや窓の杜だけにしてもらうというのも手だと思います。
    QuickJS対応ベータ版は4.0とかにして実験的機能を全部デフォルトONにして、自力で詳しく設定できない方の普段使いには向かないものにしていいと思います。

     |  enaka  |  返信
  15. >> yuko さん

    情報ありがとうございます。

    おー!まさにその点、クローズドソースでの GitHub 利用ってどうなのかなーと思っていたところでした。

    SmoothCSV、とても参考になりそうです。

    >> enaka さん

    > QuickJS対応ベータ版の前にリリース版を出してVectorや窓の杜に載せてもらうという計画はどうなったんでしたっけ。

    そのつもりだったのですが、昨日見つかったバグが思いのほか大きくて…。

    本来は 3.7.19 を安定版として 3.7 系を終了する予定だったもので、QuickJS 対応版の Ver 3.8 系の開発とリリース準備にすでに入ってしまっている状況です。

    いまから 3.7 系にロールバックして不具合を修正し、Ver 3.7.20 としてリリースするとなると、ここ数週間分の作業との整合性を取るのが難しそうなので、安定版のリリースは先送りになりそうです。

    > QuickJS対応ベータ版は4.0とかにして実験的機能を全部デフォルトONにして、自力で詳しく設定できない方の普段使いには向かないものにしていいと思います。

    なるほど、なかなか攻めたやり方ですね~。

    それはそれで使う人が減っちゃいそうで悩ましいところ…。バランス取るのが難しいですね。

    とりあえず、開発作業がひと段落したら、GitHub での管理も含めて改めて検討してみたいと思います。

     |  Kuro  |  返信
  16. > >> yuko さん
    >
    > 情報ありがとうございます。
    >
    > おー!まさにその点、クローズドソースでの GitHub 利用ってどうなのかなーと思っていたところでした。
    >
    > SmoothCSV、とても参考になりそうです。

    Paint.NETもバイナリを最新版だけGitHubに置いて配布専用にしていますね。

    https://github.com/paintdotnet/release

    Windows7対応の古い32bit版が見つからなくて苦労しました。殆どの配布サイトはフルインストール版がなくてネットインストール版のみ。実行してもその先のファイルが存在しないのでインストール不可という。

    > そのつもりだったのですが、昨日見つかったバグが思いのほか大きくて…。

    まさかの未実装バグ。アポロ11号を思い出しました。以下雑談。

    新しい航法プログラムをロードしようとしたら、実装忘れでまさかのヌルファイルだった。しかもプログラムローダにバグがあり、ヌルファイルをロードするとローダごと全てのプログラムがヌルで上書きされて消えてしまった。
    5時間以内に航法プログラムで軌道修正しないと宇宙の迷子になるが、ヒューストンは深夜3時だったが、奇跡的に定例会議でソフト班全員が揃っていた。
    パネルスイッチからブートストラッププログラムを入力する方法を全員で編み出し、無事に軌道変更が完了したのはリミット数分前。

    プログラムローダのバグは事前に見つかっていて、プログラム班リーダーは修正を申し出ていたが、世界最高峰の頭脳を持つNASAの宇宙飛行士が間違いを起こすことはあり得ない、とプロジェクトリーダーにより却下された。
    プログラム班リーダーはせめてもの対策として、アポロ航法コンピュータのマニュアルの表紙に手書きで注意書きを書いていたが、宇宙飛行士は読んでいなかった。
    プログラム班リーダーはシングルマザーで4歳の娘をNASAの仕事場で遊ばせていたが、プログラムローダのバグはアポロ航法コンピュータをいじって遊んでいた娘が偶然見つけた。

    NORかNANDだけでコンピューターが作れるというのは、理論上だけでなく実際にあった話。
    最初のアポロ航法コンピュータは、重要な部分が故障してもさほど重要でない部分の部品を使って宇宙で修理できるように、3入力NORゲートだけで作られていた。
    他にも世界最初のICによるコンピュータ、日本電気のNEAC-1240も、3入力NANDゲートだけで作られていた。

     |  enaka  |  返信
  17. 情報ありがとうございます。

    > Paint.NETもバイナリを最新版だけGitHubに置いて配布専用にしていますね。

    なるほど、Paint.NET は超有名アプリですね。こちらも参考にさせていただきます。

    > まさかの未実装バグ。アポロ11号を思い出しました。以下雑談。

    まさに「本番で何が起こるかわからない」の典型ですね😅

    宇宙規模でのヌル上書きとか、想像しただけで背筋がゾワッとします…。

    宇宙で気付くよりは全然マシですが、私も未実装に気付いた瞬間は顔が真っ青になりました。

    とはいえ、ローマ字検索を実装したのが 2024-08-18 なので、もう 1 年以上誰も気付かなかったと思うと、今はちょっと心が軽くなってきました。

    実装忘れ、本番直前のバグ発見、ヌル上書き、リーダーの判断、マニュアルを読まない…このあたりは日常でもありがちですね😱

    > 最初のアポロ航法コンピュータは、重要な部分が故障してもさほど重要でない部分の部品を使って宇宙で修理できるように、3入力NORゲートだけで作られていた。

    まさに「シンプルイズベスト」ですね。

    「本番サーバーが落ちても誰かのテスト環境でなんとかする」レベルの冗長性を、宇宙で実現していたのには脱帽です。

    …いやもう、地球でのデバッグ作業が可愛く見えてきますね。未実装やらかしで落ち込んでいましたが、なんだか元気が出てきました。

     |  Kuro  |  返信
  18. > 実装忘れ、本番直前のバグ発見、ヌル上書き、リーダーの判断、マニュアルを読まない…このあたりは日常でもありがちですね😱

    深夜3時の全員定例会議とか富士通かよ、と思いました。
    子供時代に信仰していたNASA神話も実際はこの程度と知り、心が軽くなりました。
    しかし、その数年後にスペースシャトルが爆発して、心が重くなりました。

     |  enaka  |  返信
スポンサーリンク