none
WindowsAPICodePack-ShellのNuGetパッケージからのダウンロードについて RRS feed

  • 質問

  • こんにちは。件名のとおり、WindowsAPICodePackを利用してCommonSaveFileDialogを利用しています。
    利用の目的自体は簡単に達成することができたのですが、NuGetで「WindowsAPICode」で検索すると、ほぼ同名のパッケージがたくさんが検索されます。

    作成者は、Microsoft、Aybe、Licsheeなどそれぞれで異なっていますが、どういう経緯でこうなっているのでしょうか。
    微妙にバージョンも異なっており、なぜさまざまな人が(ほぼ同じもの?)公開しているのでしょうか??

    一番ダウンロード数が多いものもMicrosoftではなく、Aybeという個人の方のものでしょうか?

    どのパッケージをインストールしたらよいのか、少し困っています。
    ライセンスも同じものを示してありますし、実際動かすこともできるのですが、これでよかったのか釈然としない思いをしています。
    2009年ごろのものなので、普通にブラウザからダウンロードしてDLLを手動で追加したほうがよかったのでしょうか。
    (これも、なにをもってして良いとするのか自分でも不明瞭なのですが……)

    なにかわかる方いましたら、教えてください。よろしくお願いします。

    環境:VisualStudio 2015 Professional Version:14.0.24720.00 UPDATE1

    • 編集済み ichiethel 2016年7月5日 8:48
    2016年7月5日 8:47

回答

  • マイクロソフトのサイトで配布されていたのが、サイトの改変によりMicrosoftから公式には入手できなくなりました。
    そのため、入手済みの個人がnugetで配布している状態です。

    再配布およびコードの変更が可能なライセンスになっていたので、再配布も変更も可能なのです。
    しかし、表示しておかなければならない元のライセンス条文を元のサイトへのリンクにしているため、リンク切れで表示することができなくなっていて混乱の原因となってしまっています。

    一応ライセンス条項は拾うことができるので読んだうえで、nugetから入手して使用するかを判断してください。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答の候補に設定 星 睦美 2016年7月6日 0:51
    • 回答としてマーク ichiethel 2016年7月7日 0:08
    2016年7月5日 10:12

すべての返信

  • Windows API CodePackは、元々Microsoftが独自のページで公開していた物です。

    その後、Microsoftは公開を中止しましたが、Microsoft Public Licenseのもと、有志がNuGetで公開しています。

    • 回答の候補に設定 星 睦美 2016年7月6日 0:51
    2016年7月5日 9:43
  • マイクロソフトのサイトで配布されていたのが、サイトの改変によりMicrosoftから公式には入手できなくなりました。
    そのため、入手済みの個人がnugetで配布している状態です。

    再配布およびコードの変更が可能なライセンスになっていたので、再配布も変更も可能なのです。
    しかし、表示しておかなければならない元のライセンス条文を元のサイトへのリンクにしているため、リンク切れで表示することができなくなっていて混乱の原因となってしまっています。

    一応ライセンス条項は拾うことができるので読んだうえで、nugetから入手して使用するかを判断してください。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答の候補に設定 星 睦美 2016年7月6日 0:51
    • 回答としてマーク ichiethel 2016年7月7日 0:08
    2016年7月5日 10:12
  • gekkaさん、Hongliangさん回答ありがとうございます。

    Microsoft Public Licenseのもと、現在有志がNuGetに公開している、と理解しました。

    ただ、サイトの改変により公式から入手できなくなったという意見と、公開を中止した、という意見で詳細な部分に違いがあるように思います。
    念のためですが、中止した、という文言が気になっています。なにか問題があるため中止したということでしょうか?(単にリンク切れ?)

    私は、WPFでアプリケーションを作成する場合、WindowsAPICodePackの利用が一番まともなダイアログを扱う方法だと考えていました。
    現在この認識は、誤りでしょうか? WindowsAPICodePack以外にもよい選択が増えているのでしょうか?


    • 編集済み ichiethel 2016年7月6日 0:36
    2016年7月6日 0:35
  • gekkaさんの投稿を見てちょっと微妙な記述だったなぁと思ったものですが、gekkaさんがおっしゃるように、いつのまにかリンク切れになっていたというのが実際のところです。MSのブログとか見れば経緯が記載されているのかもしれませんが私は知りません。

    「ダイアログ」って何でしょうか? 一般の、WindowをShowDialog()するものなのか、何かコモンダイアログの一種なのか。

    2016年7月6日 0:50
  • Hongliangさん回答ありがとうございます。

    リンク切れですか。それだと私たちでは、どうしてそのままなのかわからないということなのですね。
    ありがとうございます。

    ダイアログが指すところは、上述のCommonSaveFileDialogのことでした。保存するフォルダー名やファイル名を得るところで利用しています。ダイアログでは名詞が抽象的にすぎました。すいません。

    下記のOpenFileDialogでもよいのかもしれませんが、CommonSaveFileDialogはフィルター等を画面に(めちゃくちゃにも)追加できるため、これを採用していました。実際はそれほどフィルターが複雑にならず、拡張子を5パターン許容する程度になっています。
    https://www.ipentec.com/document/document.aspx?page=wpf-openfile-dialog

    また、TaskDialogは重篤なエラーの通知、警告を必要とするYES/NO確認を担っていました。
    これは、同等程度に見栄えがよいものを探しています。(これはアイコンのバグもありましたが)

    • 編集済み ichiethel 2016年7月6日 2:58
    2016年7月6日 1:28