パスワードを忘れた? アカウント作成
15221728 story
Windows

Microsoft、D3DXのNuGetパッケージを提供開始 20

ストーリー by nagazou
公開 部門より
あるAnonymous Coward 曰く、

Microsoftは米国時間3月1日、レガシーDirectX SDKに含まれていたD3DXをNuGetパッケージにして公開した(Games for Windows and the DirectX SDK blog)。
現時点で「DirectX 9.0cが必要なのでDirectXエンドユーザーランタイムをインストールする必要がある」と言ったとき、実際に必要なのはほとんどの場合D3DX、XInput 1.3、XAudio 2.7である。このうちXInputとXAudioについてはOSに後継バージョンのランタイムが含まれており移行は比較的容易だが、D3DXは後継ライブラリに直接の代替が存在しない機能も多く、DirectXエンドユーザーランタイムへの依存解消の妨げになっていた。

D3DXはレジストリへの登録を必要とせず、実のところDLLをアプリの実行ファイルと同じフォルダーに置くだけで技術的には使えたのだが、DirectX SDKのEULAではインストーラーの構成ファイルとしてCABファイルでの配布しか許諾されていなかった。今後はこのNuGetパッケージから取り出したDLLを直接アプリに含めての配布も可能となる。パッケージ内のDLLはSHA-256で署名し直されているが、それ以外は2010年リリースのものと変わりない(署名が含まれるファイル末尾の.rsrcセクションを除いてバイナリ完全一致である)。

なお、このパッケージは自作アプリのDirectXエンドユーザーランタイム依存を解消したい(がD3DX使用部分を全面的に書き換えるだけの工数は取れない)開発者が使用するものであり、開発者が対応してくれなかったり、失踪していたり、メーカーが倒産していたりする場合にエンドユーザーが取る対応はこれまでと変わりない(DirectXエンドユーザーランタイムをインストールする)。

情報元へのリンク

  • by Anonymous Coward on 2021年03月05日 19時37分 (#3989176)

    Firefoxの古いバージョンにCABから抽出したd3dx9_43.dllやd3dcompiler_43.dllが含まれていてどう考えてもDirectX SDKのEULA違反だと思ってたんだけど、MSは立場上Mozillaに敵対的な行動を取りづらかったのだろうか。(なお現在のバージョンに含まれているd3dcompiler_47.dllに関しては問題ない)

    ここに返信
    • by Anonymous Coward

      その物証だけだとMozillaが個別に再配布の許可を得ている場合と見分けがつかず、可能性を除外できない気がする

      • by Anonymous Coward

        about:licenseにはDirectX SDKのEULAしか書かれていなかったので。特別な許諾を得ているならそれが書かれていなければおかしい。
        そもそもd3dcompiler_43.dllをソースコードリポジトリに突っ込もうとしていたくらいなので(それはさすがに止めたが)単にライセンスチェックがガバガバだった可能性のほうが高いと思う

        • by Anonymous Coward

          そこらへんは考えつつも、このSDK自体の具体的ことを知らなくてもやっとしたことしか言えないんだけど、
          特別な許諾・個別の許可だとDirectX SDKのライセンス文の転記が必要な取り交わしかどうかがわからなくない?
          OSS製品だとOSSとは別の利用をしたい人向けのデュアルライセンスってあるじゃん。

          今のFirefoxでabout:license見て余計わからなくなったけど
          chrome://mozapps/content/extensions/OpenH264-license.txt の内容ってabout:license 内にも記載あるのかな

          • by Anonymous Coward

            そもそもMozillaは原則としてOSSライセンスで使えるものしか配布しない(もちろん例外はあるが)。それが理由で同梱の絵文字フォントをEmojiOneからTwemojiに変えたりしてる。なので公式のFirefoxバイナリのみで使うために契約を交わしているというのがまず考えづらい。

            > このSDK自体の具体的ことを知らなくて

            SDK自体は誰でも ダウンロード [microsoft.com]して使える(2月にいったん公開停止されて騒ぎになったが)。DirectX SDKのEULAはその中にも入っている。DirectXエンドユーザーランタイムのオフラインインストーラー [microsoft.com]を起動しても表示される。ただその文面に「配布可能な

            • by Anonymous Coward

              今のFirefoxのPortableApps版を展開してみたよ。

              > OpenH264やWideVine CDMはあとからダウンロードされるもので、Firefox自体の配布物には含まれていない。
              "will be installed shortly"とか出て、おっしゃる通り後からダウンロードだから、about:licenseに入れない今の表示方法が正しいね。
              関係ないこと言ってすまなかった

              > そもそもMozillaは原則としてOSSライセンスで使えるものしか配布しない(もちろん例外はあるが)
              vcruntime140.dllが入ってて、これはプログラミング言語ランタイムだから例外側でもOKと思うが、
              Mozillaがその思想の上でMinGWとかに行かないな

  • by Anonymous Coward on 2021年03月05日 13時18分 (#3988857)

    単にビルドするだけならいいんだろうけど、
    VSも上げなきゃだろうし、
    チェック工数もかかるとなると、正直上げたくはないだろうな。

    ここに返信
    • by Anonymous Coward

      インストーラーの修正じゃない?

      • by Anonymous Coward

        D3DXだけならそうだな。ガンダムオンラインやPSO2は実際にインストーラーにDirectXエンドユーザーランタイムを含めて対応したようなのでその程度なら十分に可能なはず。XInputやXAudioを使っている場合は最低でも再ビルドが必要なので面倒さが一気に増す

        • by Anonymous Coward

          レガシーDirectX SDKに含まれていたD3DXをNuGetパッケージにして公開した

          今回の話はD3DXに限定された話だし

          XInputとXAudioについてはOSに後継バージョンのランタイムが含まれており移行は比較的容易

          XInputとXAudioについてはサポート済みバージョンを使用している限りは問題ないでしょ。
          新たにサポート切れOS環境を構築するというならそれこそ自己責任で、
          どこかからDirectXエンドユーザーランタイムを拾ってきてインストールすればすむ話。

          • by Anonymous Coward

            レガシーDirectX SDKのXInputとXAudioに依存した古いアプリ(のVSプロジェクト)がすでにあって、それをサポート済みバージョンに更新するのは(単にD3DXのDLLを置くのに比べたら)手間がかかるって話をしてるんだが。話の流れ理解してるか?

            • by Anonymous Coward

              なお、このパッケージは自作アプリのDirectXエンドユーザーランタイム依存を解消したい(がD3DX使用部分を全面的に書き換えるだけの工数は取れない)開発者が使用するものであり、開発者が対応してくれなかったり、失踪していたり、メーカーが倒産していたりする場合にエンドユーザーが取る対応はこれまでと変わりない(DirectXエンドユーザーランタイムをインストールする)。

              あなたがそもそもの話の流れを理解してない。
              意欲のある開発者、(ある程度の)工数の取れる開発者の話なんだよ。

  • by Anonymous Coward on 2021年03月05日 15時57分 (#3988997)

    なんかWindowsのパッケージ管理もnugetとかpowershellgalleryとかchocolateyとか複数出て来てわからんくなってきたなあ

    ここに返信
    • by Anonymous Coward

      Windows Package Managerの事もたまにh(ry

      • by Anonymous Coward

        GAされたらこれが標準になるんでしょ

      • by Anonymous Coward

        マイクロソフトストアは

    • by Anonymous Coward

      chocolatyは nugetの技術を使ってソフトのインストールを行う。 開発元はmicrosoftと関係ない。
      で、なんやかんやで OneGetだって話が出てきて眉唾で見てたけど全く流行ってる気はしない。
      Scoopyは割と流行ってきている気はする。これもMSは作ってない。

      nugetとpowershellgallery(powershellget)は用途が違うので chocolateyとは比較しないかな。

      陸の孤島なのでLAN内にミラーつくるんだけど、大体はプロキシ接続に対応してなかったり、
      インターネットからしか考えてないとか、さっとエコシステムをプライベートに構築できなくてめんどくさいんだよね。
      (nuGetは、IIS+Asp.netの構築記事みかけるのでなんとかなるけど。NuGet3ならもっと手軽だった気もしたけど忘れてしまった。)

      Scoopyも構築したい・・・というか使い方覚えたいから、仕事でも使いたいけど調べるのがめんどくさいんだよな。

  • by Anonymous Coward on 2021年03月05日 19時06分 (#3989146)

    最近PE直接触ってないので、よう知らんけど

    ここに返信
  • by Anonymous Coward on 2021年03月05日 22時31分 (#3989282)

    NaGetが提供されるのはいつになるでしょうか?

    ここに返信
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...