Mcrosoft Onでの質問
この前私が伺ったMcrosoft Onで、いただいた質問と回答を共有します。
回答は、技術サポート部門が作成したわけではないので、100%技術的にサポートされているものではないため、あくまでも参考情報としてご覧ください。
質問1/5:
Webサービスで送信するデータのスキーマを、DTDで定義するためには、どのようにすればよいのですか?
回答1:
ASP.NET のWeb サービスとしてはXSD によるサービス実装のみがサポートされているとお考えください。ASP.NETが標準で提供しているWeb サービスでは、SOAP を使用するため、XSDによる実装となっています。
これをDTDでおこなう方法については、独自にシリアル化の処理を実装することで可能ですが、その場合ASP.NETを利用するメリットがなくなります。
質問2/5:
ClickOnceで、アプリケーションの新しいバージョンをインストールした後、前のバージョンに戻すと、次の起動時に、新しいバージョンをインストールするかどうかを尋ねるダイアログボックスが表示されないのはなぜか。
回答2:
アプリケーションの自動更新時には、ClickOnce ローダー(dfsvc.exe)が行う内部の処理で、サーバー上の配置マニュフェストから得られる最新のバージョン情報と現在動作しているバージョンが比較されます。しかし、アプリケーションを削除した場合は、ロールバック処理で上記に保持されているマニフェストへの変更が行われていないため、この比較が行われません。アプリケーションの自動更新はされませんが、ロールバックしたバージョンを初回インストールと同様に手動で再インストールすることは可能です。
質問3/5:
Dotfuscatorを使用して難読化したアセンブリを、ClickOnceを使用して配布しても、技術的な問題はありませんか?
回答:
難読化については、Visual Studio には標準で Dotfuscator と呼ばれるツールが付随していますが、ClickOnce のアプリケーション発行時にはこのツールを使用することができません。このため、難読化したアセンブリを ClickOnce で配布するためには、先に ClickOnce のアプリケーションを発行した後で、発行されたアセンブリを難読化する必要があります。また、これに伴い、発行時に作成されたアプリケーション マニュフェスト ファイルとデプロイメント マニュフェスト ファイルもそれぞれ再作成が必要です。
以下に詳細な手順をご紹介します。
<手順>
1. プロジェクトの発行で、通常どおりに ClickOnce のアプリケーションを発行します。
→オプションで、「".deploy" ファイル拡張子を使用する」のチェックを外しておきます。
2. Dotfuscator を起動し、発行されたアセンブリ(.exe:実行可能ファイル)から難読化されたアセンブリを作成します。
→Visual Studio 2005 コマンドプロンプトで、ildasm コマンドを使用すると難読化が確認できます。
3. 難読化されたアセンブリを元のアセンブリと置き換えます。
→この段階では、ClickOnce でのインストール時にエラーが発生し、ダウンロードできません。
4. Visual Studio 2005 コマンドプロンプトで、mageui コマンドを使用して Mage を起動します。
5. アプリケーション マニュフェスト ファイル(.exe.manufest)を作成します。
・[File]-[New]-[Application Manifest] をクリックします。
・[Name] パネルでアプリケーション名とバージョンを入力します。
・[Files] パネルの [Application directory] で先ほどのアセンブリが保存されているフォルダを指定して、
[Populate] ボタンをクリックすると、アセンブリが [Application files] に表示されます。
([File Type] には、起動ファイルを意味する [Entry Point] が表示されています。)
・[Permissions Required] パネルの Permission set type(アクセス許可セット)を [FullTrust] にします。
・ファイルの保存をします。
・署名ダイアログが表示されるので、[New] ボタンをクリックして、キーペアファイル (.pfx) を作成して署名します。
・ClickOnce アプリケーションの発行時に作成されたアプリケーション マニュフェスト ファイルと同じ名前で、
同じフォルダへ上書き保存します。
6. デプロイメント マニュフェスト ファイル(.application)を作成します。
・[File]-[New]-[Deployment Manifest] をクリックします。
・[Name] パネルで、アプリケーション マニフェスト ファイルと同じように、アプリケーション名とバージョンを入力します。
・[Description] パネルへ、発行者名と製品名を入力します。
(ここで設定した名前が、スタートメニューの表示に使用されます。)
・[Deployment Option] パネルの [Start Location] に、デプロイメント マニフェスト ファイルの URL を入力します。
(【例】http://localhost/AppName/AppName.application)
・[Update Options] パネルは、デフォルトのまま変更しません。
・[Application Reference] パネルで、先ほど作成したアプリケーション マニュフェスト ファイルへの参照を設定します。
([Select Manifest] ボタンをクリックするとファイル選択ダイアログが表示されます。)
・ファイルの保存をします。
・署名ダイアログが表示されるので、先ほど作成したキーペアファイルを選択して、署名を行います。
・ClickOnce アプリケーションの発行時に作成されたデプロイメント マニュフェスト ファイルと同じ名前で、
同じフォルダへ上書き保存します。
7. 上記で手順は完了です、実際に動作確認を行ってみてください。
→正常にインストールが完了し、アプリケーションが動作します。
ildasm コマンドを使用すると、ClickOnce キャッシュ領域にインストールされた
アプリケーションのアセンブリが難読化されていることを確認できます。
質問4/5:
Webサービスを利用する場合のマイクロソフト製品のライセンス体系はどうなりますか?
回答:
利用する製品によって異なりますが、代表的な製品については以下のようになります。
Windows Serverの場合は、サーバーライセンスに加えて、同時使用ユーザー数のクライアント アクセス ライセンスか、外部ユーザーに無制限アクセスを許諾する「エクスターナル コネクタライセンス」をサーバーごとに購入いただきます。
http://www.microsoft.com/japan/windowsserver2003/howtobuy/licensing/extconnector.mspx
http://www.microsoft.com/japan/windowsserver2003/howtobuy/licensing/caloverview.mspx
SQL Serverの場合は、プロセッサ ライセンスで 、社内、社外ユーザーにかかわらず、無制限にアクセスが許諾されます。
その他、参考情報です。
http://www.microsoft.com/japan/licensing/brief/default.mspx#E2F
質問5/5:
Microsoft Office Grooveは、単体製品で提供されますか?
回答:
はい、提供されます。The 2007 Office system の製品ラインナップの詳しくは、以下のニュースリリースをご確認ください。
http://www.microsoft.com/japan/presspass/addcont.aspx?addid=770