パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Microsoft、Windows標準アクセサリアプリのUWPアプリ化を進行中?」記事へのコメント

  • by caret (47533) on 2016年05月05日 3時31分 (#3007453) 日記
    Build 2016:Windows 7時代のアプリを「10」対応にするメリットは? (1/2) - ITmedia PC USER [itmedia.co.jp] より

     Desktop App Converterは、Windowsアプリケーションのインストール形式である「.msi」ファイルを使って、UWPアプリの配布パッケージである「.appx」を自動生成するツールだ。これにより、Windowsストアの仕組みを用いて従来のWin32や.NET向けに記述されたアプリケーションを配布することが可能になる。

     一方、ここでAppXパッケージに変換されたアプリは基本的に従来のWin32/.NETコードベースそのままで、Win32サブセットなどを含まないWindows 10 Mobileなどのプラットフォームでは動作しない。つまり厳密に言うと、Desktop App Converterが生成するのはUWPアプリではなく、「UWPと同じ配信形式のパッケージ」を生成しているにすぎない。

     これだけだと「Windowsストアを利用できる以外のメリットはないの?」ということになるが、実際にAppXパッケージが生成されることで、企業内でも配信が楽になるだけではなく、ユーザーにとっても「システムフォルダやレジストリを汚さない」という大きなメリットがある。

     通常、デスクトップアプリケーションのインストールではWindows OSのレジストリに専用領域の確保のほか、必要なDLLやランタイムをシステムフォルダなどに適時追加していくことが多い。ところが、こうしたことを繰り返すとレジストリが肥大化してメモリやパフォーマンスを圧迫するだけでなく、アンインストール時に「ゴミ」を生む結果となってしまう。

     Desktop App ConverterではAppXパッケージ生成時にマニフェストを包含し、内部的にリダイレクト処理を行うことで、レジストリやDLLの書き込みがパッケージの外部に波及することを防ぐようになっている。これにより、変換後のデスクトップアプリケーション(AppXパッケージ)のインストール/アンインストールがシステムに悪影響を与えることがなくなるという。つまり、Windows 7向けのアプリケーションを単純に変換するだけでもメリットがあるのだ。

     このように、Desktop App Converterの自動変換ではデスクトップアプリケーションそのものをUWPアプリにはできないものの、Windows 10以降で提供される新機能やアプリの実行基盤をそのまま活用可能になる。

     恐らくMicrosoftは、このツール提供を皮切りにアプリケーション開発者やユーザーらにUWPの活用を促し、将来的に古いデスクトップアプリケーションのコードを徐々にUWPアプリへと移管していくのが狙いとみられる。時間はかかるものの、2020年に延長サポートが終了するWindows 7からWindows 10への移行をにらんだ施策と言えるかもしれない。

     さて、AppXパッケージに自動変換された直後の状態では、動作的には通常のデスクトップアプリケーションと何ら変わりない。しかし、若干のコード追加でユニバーサルアプリの特徴である「ライブタイル」「通知」「Cortana」といった機能が利用できる。この辺りは非常に簡単なので、すぐにでも取り掛かれるだろう。

    まとめると

    • Desktop App Converter (Project Centennial) はデスクトップ アプリを AppX に変換できるが、それだけでは 10 Mobile や 10 IoT Core, Xbox One などで動作するようにはならない
    • その代わりモダンな配布 (Windows ストア) と展開、更新および削除エクスペリエンス (統一されたインストール エクスペリエンスと Windows ストアによるシームレスな更新、App-V 技術をもとにした仮想化による DLL 地獄とレジストリの肥大化の回避) が利用でき、UWP の機能 (ライブ タイル、通知、Cortana など) も利用できるようになる
    • 最終的には Desktop App Converter をきっかけにして、Win32 アプリをすべての Windows デバイスで動作する完全な UWP アプリに移行してほしい(とマイクロソフトは考えている)

    UWP アプリへのデスクトップ アプリの変換 - Windows アプリ開発 [microsoft.com]も参考になる。

    • それにしてもなんで割とマイナーなアプリばかりなのかな、と思ったら、メジャーなアプリは既に UWP アプリに刷新されているからだった。
      WalkingCat 氏は WSL を真っ先に発見したり [developers.srad.jp]、誤って公開された Edge の拡張機能を見つけたり [it.srad.jp]、なんかよくわかんないけどすごいみたいな印象。
      マイクロソフト ウォッチャーというと、ZDNet のメアリー・ジョー・フォリー氏とエド・ボット氏、それとポール・サーロット氏のイメージが強い。
      親コメント
      • by Anonymous Coward

        真っ先か?
        一日前に見つけてる奴居たが

    • by Anonymous Coward

      べつにWin32のままでもレジストリやDLLを利用しないプログラムは作れるのに。

      モダンな配布 (Windows ストア) =Microsoftにみかじめ料を払う配布形式

      • by Anonymous Coward

        それは使わないだけ。ストアアプリはサンドボックスなので、使わせないという強制力として働く。

        • by Anonymous Coward

          Win32からWUPに変換するのは開発者なんだから、使わせないも使わないもないでしょ。

          開発者がレジストリを使わないことにメリットを見出すのなら、UWPに変換するまでもなく、
          Win32アプリのままそういうふうに作るというだけ。

          • by Anonymous Coward

            こんなものを作ったってことはマイクロソフトはレジストリを使ってほしくないってことだろう。そのうち面倒くさいことになるかもしれない。

            • by Anonymous Coward

              面倒くさいって、どういう風に?
              いくら使ってほしくないと思っていても、MicrosoftはWin32アプリの互換性保証を捨てられないだろう。

              これまで蓄積されてきたソフトウェアの歴史的な重み無しでは、Microsoftといえどもてんで弱いというのは、
              スマホでの失敗で身に染みているだろうから。

          • by Anonymous Coward

            第三者によるアプリ脆弱性悪用の可能性を考えましょう。
            フレームワーク側で禁止してれば安全性は高まります。

            • by Anonymous Coward

              いやだから、それはOSの側から見た利点で、開発者が自分のWin32プログラムをUWPに変換する
              動機になることではないでしょ、という話。

              • by Anonymous Coward

                UWPなら安心だから使おうという判断がユーザーに働くなら、
                開発者もUWPを選ぶ動機にはなり得るでしょ。
                そういう層がいるから、今でもアプリケーションをmsiやexeではなくzipで配布していたりするわけだし。

              • by Anonymous Coward

                zipで配布するのはそういう理由からか?ドキュメントや関連ファイルを一緒にまとめるためだと思っていたが。

                「UWPなら安心だから使おうという判断がユーザーに働」いているようには見えないから、
                一向にUWPが増えないんじゃないの?

          • by Anonymous Coward

            msiインストーラはそれだけでレジストリ使うよ。

            アプリケーションのレジストリ利用はそれほどでもなくて(行儀のいいアプリケーションならアプリケーションのレジストリはアンインストール時に綺麗に消すし)、レジストリを必要としないぐらいのアプリケーションなら量としてもそれほどでもないでしょう。

            COMとかインストール情報などのレジストリがもりもりたまっていくのでそれをなんとかしてくれるということでしょうな。

            # しかし外部アプリケーションのレジストリ参照(インストールパスとか)はどうなるんだろ。

      • by Anonymous Coward

        理論的に可能ならばそれだけで何も問題がないんだったら、Vistaの時代に管理者権限を要求するインストーラーは(本当に必要な物以外)絶滅して、Vistaはもっと好評だっただろうね。

        • by Anonymous Coward
          インストーラなどは、全て管理者権限が無ければ動かなくするというのが目的なので、、、
          管理者権限を要求しないインストーラなんてものが不健全の極みなわけですけど。

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

処理中...