Microsoft、D3DXのNuGetパッケージを提供開始 20
公開 部門より
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エンドユーザーランタイムをインストールする)。
Firefox (スコア:1)
Firefoxの古いバージョンにCABから抽出したd3dx9_43.dllやd3dcompiler_43.dllが含まれていてどう考えてもDirectX SDKのEULA違反だと思ってたんだけど、MSは立場上Mozillaに敵対的な行動を取りづらかったのだろうか。(なお現在のバージョンに含まれているd3dcompiler_47.dllに関しては問題ない)
Re: (スコア:0)
その物証だけだとMozillaが個別に再配布の許可を得ている場合と見分けがつかず、可能性を除外できない気がする
Re: (スコア:0)
about:licenseにはDirectX SDKのEULAしか書かれていなかったので。特別な許諾を得ているならそれが書かれていなければおかしい。
そもそもd3dcompiler_43.dllをソースコードリポジトリに突っ込もうとしていたくらいなので(それはさすがに止めたが)単にライセンスチェックがガバガバだった可能性のほうが高いと思う
Re: (スコア:0)
そこらへんは考えつつも、このSDK自体の具体的ことを知らなくてもやっとしたことしか言えないんだけど、
特別な許諾・個別の許可だとDirectX SDKのライセンス文の転記が必要な取り交わしかどうかがわからなくない?
OSS製品だとOSSとは別の利用をしたい人向けのデュアルライセンスってあるじゃん。
今のFirefoxでabout:license見て余計わからなくなったけど
chrome://mozapps/content/extensions/OpenH264-license.txt の内容ってabout:license 内にも記載あるのかな
Re: (スコア:0)
そもそもMozillaは原則としてOSSライセンスで使えるものしか配布しない(もちろん例外はあるが)。それが理由で同梱の絵文字フォントをEmojiOneからTwemojiに変えたりしてる。なので公式のFirefoxバイナリのみで使うために契約を交わしているというのがまず考えづらい。
> このSDK自体の具体的ことを知らなくて
SDK自体は誰でも ダウンロード [microsoft.com]して使える(2月にいったん公開停止されて騒ぎになったが)。DirectX SDKのEULAはその中にも入っている。DirectXエンドユーザーランタイムのオフラインインストーラー [microsoft.com]を起動しても表示される。ただその文面に「配布可能な
Re: (スコア:0)
今のFirefoxのPortableApps版を展開してみたよ。
> OpenH264やWideVine CDMはあとからダウンロードされるもので、Firefox自体の配布物には含まれていない。
"will be installed shortly"とか出て、おっしゃる通り後からダウンロードだから、about:licenseに入れない今の表示方法が正しいね。
関係ないこと言ってすまなかった
> そもそもMozillaは原則としてOSSライセンスで使えるものしか配布しない(もちろん例外はあるが)
vcruntime140.dllが入ってて、これはプログラミング言語ランタイムだから例外側でもOKと思うが、
Mozillaがその思想の上でMinGWとかに行かないな
それでも対応工数が (スコア:0)
単にビルドするだけならいいんだろうけど、
VSも上げなきゃだろうし、
チェック工数もかかるとなると、正直上げたくはないだろうな。
Re: (スコア:0)
インストーラーの修正じゃない?
Re: (スコア:0)
D3DXだけならそうだな。ガンダムオンラインやPSO2は実際にインストーラーにDirectXエンドユーザーランタイムを含めて対応したようなのでその程度なら十分に可能なはず。XInputやXAudioを使っている場合は最低でも再ビルドが必要なので面倒さが一気に増す
Re: (スコア:0)
レガシーDirectX SDKに含まれていたD3DXをNuGetパッケージにして公開した
今回の話はD3DXに限定された話だし
XInputとXAudioについてはOSに後継バージョンのランタイムが含まれており移行は比較的容易
XInputとXAudioについてはサポート済みバージョンを使用している限りは問題ないでしょ。
新たにサポート切れOS環境を構築するというならそれこそ自己責任で、
どこかからDirectXエンドユーザーランタイムを拾ってきてインストールすればすむ話。
Re: (スコア:0)
レガシーDirectX SDKのXInputとXAudioに依存した古いアプリ(のVSプロジェクト)がすでにあって、それをサポート済みバージョンに更新するのは(単にD3DXのDLLを置くのに比べたら)手間がかかるって話をしてるんだが。話の流れ理解してるか?
Re: (スコア:0)
なお、このパッケージは自作アプリのDirectXエンドユーザーランタイム依存を解消したい(がD3DX使用部分を全面的に書き換えるだけの工数は取れない)開発者が使用するものであり、開発者が対応してくれなかったり、失踪していたり、メーカーが倒産していたりする場合にエンドユーザーが取る対応はこれまでと変わりない(DirectXエンドユーザーランタイムをインストールする)。
あなたがそもそもの話の流れを理解してない。
意欲のある開発者、(ある程度の)工数の取れる開発者の話なんだよ。
使い分け (スコア:0)
なんかWindowsのパッケージ管理もnugetとかpowershellgalleryとかchocolateyとか複数出て来てわからんくなってきたなあ
Re: (スコア:0)
Windows Package Managerの事もたまにh(ry
Re: (スコア:0)
GAされたらこれが標準になるんでしょ
Re: (スコア:0)
マイクロソフトストアは
Re: (スコア:0)
chocolatyは nugetの技術を使ってソフトのインストールを行う。 開発元はmicrosoftと関係ない。
で、なんやかんやで OneGetだって話が出てきて眉唾で見てたけど全く流行ってる気はしない。
Scoopyは割と流行ってきている気はする。これもMSは作ってない。
nugetとpowershellgallery(powershellget)は用途が違うので chocolateyとは比較しないかな。
陸の孤島なのでLAN内にミラーつくるんだけど、大体はプロキシ接続に対応してなかったり、
インターネットからしか考えてないとか、さっとエコシステムをプライベートに構築できなくてめんどくさいんだよね。
(nuGetは、IIS+Asp.netの構築記事みかけるのでなんとかなるけど。NuGet3ならもっと手軽だった気もしたけど忘れてしまった。)
Scoopyも構築したい・・・というか使い方覚えたいから、仕事でも使いたいけど調べるのがめんどくさいんだよな。
trivial: 署名は.rsrc の中? (スコア:0)
最近PE直接触ってないので、よう知らんけど
食品を (スコア:0)
NaGetが提供されるのはいつになるでしょうか?