Silverlight 4におけるネイティブアプリケーションの統合
Silverlight4で作る新しいRIAアプリケーション(10)
信頼されたアプリケーションの管理
信頼されたアプリケーションをインストールする場合、配布するXAPファイルが未署名のままだと図9のようなダイアログが表示されます。

限られた範囲の公開であれば、このままでも問題ないかもしませんが、認証機関から証明書を取得しXAPファイルに署名を行うことで、図10のようなダイアログを表示できます。

今回は、テスト証明書を作成してXAPファイルに署名を行いますが、通常運用時には信頼できる認証機関から取得した証明書を利用して、XAPファイルに署名を行ってください。XAPファイルに証明書をインストールするには、signtoolユーティリティを利用するか、Visual Studioの署名タブ(図11)で証明書をXAPに割り当てます。

テスト証明書を作成する場合は、図11で[テスト証明書の作成]ボタンをクリックしてXAPにテスト証明書を設定します。テスト証明書を利用する場合は、Silverlightアプリケーションの実行前に、作成した証明書を信頼されたルート証明書としてコンピュータにインストールしておく必要があります。詳しくは『信頼されたルート証明書を管理する』を確認してください。
信頼されたアプリケーションによるオートメーションオブジェクトの実行は、それまでのSilverlightがあくまでブラウザのサンドボックス内で動作していたものに対し、本当の意味でブラウザの外にまで進出したことを意味します。
信頼されたアプリケーションをインストールすると、オートメーションオブジェクトを通じて、様々なユーザー情報やローカル資源にアクセス可能です。
しかし、セキュリティ上はそれほど大きな問題ではありません。信頼されたアプリケーションであろうと、Silverlightで行えることは、あくまで実行するユーザーの権限の範囲内でしかありませんし、ユーザーがWebからアプリケーションをインストールする場合は、必ずインストールしてよいかをユーザーに確認するダイアログが表示されます。これは、通常のデスクトップアプリケーションと同じ考え方です。
企業の管理者は、グループポリシーを適用することで、ユーザーひとりひとりが勝手にSilverlightのプログラムをインストールしてしまうことを防ぐことができます。詳細は『グループポリシーによる管理』を確認して下さい。
Silverlight 5におけるブラウザ外実行
2010年のSilverlightのイベントで、マイクロソフトの副社長であるスコットガスリーからSilverlight 5に関するアナウンスが行われました。昨日開催されたMIX11 では、Silverlight 5 Betaが公開され、すでに日本語版のSilverlight 5 Beta Toolsがダウンロード可能です。
MIX11では、Silverlight 5関連のセッションが設けられており、次のURLから視聴が可能です。また、こちらも英語ですが、Silverlight 5 Betaのドキュメントも公開されています。
- MIX 11 Day2 KeyNote
- Advanced Features in Silverlight 5
- Silverlight 5 Beta Technical Features
- Silverlight 5 Beta
ここでは、氏のブログ(日本語訳 Silverlight 5の告知)をもとに、ブラウザ外実行の新機能を簡単に確認してみましょう。
Silverlight 5で加わる、ブラウザ外実行の大きな変更は次の2点です。
- プラットフォーム呼び出しのサポート
- 小ウインドウのサポート
プラットフォーム呼び出しのサポート
Silverlight 5では、信頼されたアプリケーション下でのプラットフォーム呼び出しがサポートされます。プラットフォーム呼び出しは、P/Invokeとも呼ばれる機能で、ネイティブのC言語やC++言語で書かれた機能を、ほかの環境から呼び出すための構造です。
Silverlight 4でも、CLR側でP/InvokeしたメソッドをオートメーションオブジェクトとしてSilverlightに公開することで、Silverlightから間接的にP/Invokeを実現できますが、Silverlight 5ではSilverlightから直接P/Invokeが行えるようになります。
小ウインドウのサポート
Silverlightで画面遷移を考える場合、一般的なHTMLのページと同じように、一つのウインドウを利用してページの切り替えを行います。Silverlight 5では、小ウインドウをサポートすることでWPFやWindowsFormと同じようなマルチウインドウの画面遷移が可能になります。
まとめ
3回を通して、Silverlight 4で強化されたブラウザ外実行についてみてきました。よりパワフルになった、Silverlightの力を感じていただけたのではないでしょうか。
さて、Silverlight 3に引き続き、Silverlight 4の連載も当初の予定を大幅に超過して、今回で第10回になってしまいました。今回で、Silverlight 4の連載はとりあえず終了です。お付き合いありがとうございました。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Silverlight 4で作る新しいRIAアプリケーション連載記事一覧
-
- Silverlight 4におけるネイティブアプリケーションの統合
- Silverlight 4における信頼されたアプリケーション
- Silverlightによるデスクトップアプリケーション
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト かるあ (杉山 洋一)(カルア(スギヤマ ヨウイチ))
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
