2009-05-07 10 views
0

WPFアプリケーションには、Windows OSデスクトップから実行するものと、XBAPアプリケーションとして実行するものがある、一貫したUIなどの2つの味があります。XBAPアプリケーションを展開しますか?

現在、localhostマシンのIIS(Windows XP Pro)にXBAPアプリケーションを公開しています。必要に応じて自分のシナリオで完全信頼を有効にしました(Microsoft .NET Framework 2.0の設定、URL完全信頼)+ pfxファイル別のマシン上のユーザーが自分のマシンのIEブラウザーからURLを入力すると、インストールされます(私のマシン名用)。

私はXBAPアプリケーションをデスクトップにするのではなく、集中型のアプリケーションを望んでいるので、XBAPアプリケーションを顧客に売りたいのですが、どうすればいいですか? XBAPの導入経験がある人が教えてくれますか?自分のWebサーバーにアプリケーションをセットアップするセットアップを行う必要がありますか? (Webサーバーが.net 3.5 sp1を持っていると仮定します)pfxと完全信頼はどうすればよいのでしょうか?

答えて

6

私は、ClickOnceをエンジンとして使用してバイナリをXBAPと標準のWPFとしてデプロイするのと同様の状況で作業しました。顧客サイトにXBAP Webサイトをインストールするには、インストーラでIISで仮想ディレクトリを作成してから、ClickOnceマニフェストに署名するカスタムステップを実行します。このステップは、アプリケーションが顧客環境に関する情報を含む生成された構成ファイルにアクセスする必要があるため必要でした。

ここでは、XBAPを使用して見た問題点について説明します。

  • クライアントのワークステーションでのフレームワークv3.0以上の依存性。 (制御されたデスクトップを使用していない限り、WPFを扱う際の一般的な注意事項の多くは、これを展開する必要があります)
  • 説明できないことに、ユーザーのClickOnceキャッシュが無効になり、 rundll32%windir%\ system32 \ dfshim.dll CleanOnlineAppCache
  • Framework v3.0/Internet Explorerが正しくインストールされていないと、ユーザーのプロファイルを再作成したり、再インストールするためのdotNetフレームワークをインストールしたり、Internet Explorerを再インストールする必要があります。
  • 展開が失敗した場合のClickOnceからのエラーメッセージが貧弱です。多くの場合、一般的な展開例外が報告され、修正は上記の手順の1つになります。
  • ASP.Netフォーム認証、IIS信頼(イントラネットではない)、ISAなどのプロキシなど、Webサイトの前で認証を使用すると、Microsoftスタック内にIEができない問題があります認証をClickOnceエンジンに渡します。問題は、IEが正常に認証されますが、セキュリティコンテキストをClickOnceに渡すことができなくなることです。 ClickOnceがアプリケーションファイルを展開しようとすると、セキュリティコンテキストがなくなり、認証が失敗します。しかし、インターネットオプション - >セキュリティ - >「ローカルイントラネット」 - >「カスタムレベル...」を選択すると、設定のリストが表示されます。リストの一番下までスクロールし、[ユーザー認証 - >ログオン - >]の下の[現在のユーザー名とパスワードで自動ログオンする]オプションが選択されていることを確認します。これにより、IEは一度クリックしたアプリケーションに認証情報を渡すことができます。
+0

私は、XBAPアプリケーションの構成ファイルを変更する必要があると思っていました。データベース接続文字列など...後でファイルに署名するにはどうすればいいですか?私はクライアントに行って、XBAPアプリケーションが正しく動作しないという設定ファイルを変更したとしますか? – abmv

+0

構成ファイル(またはそのようなClickOnce制御ファイル)を変更すると、ClickOnceマニフェストに格納されているハッシュ値は無効になり、clickonceデプロイメントエラーが発生します。これは、あらゆるタイプのClickOnceアプリケーションに当てはまります。このような状況を可能にするために、構成を作成し、Microsoft.Build.Tasks.Deployment.ManifestUtilities名前空間を使用してマニフェストを再生成するカスタムインストール手順がありました。 –

+0

Q1.カスタムインストールステップでアクションのコードまたはリンクを作業サンプルに投稿してください.Visual Studioでこれを行うにはWiXを使用したかインストーラプロジェクトを追加しましたか? Q2.お客様専用にClickOnceを作成したと仮定していますが、正しいですか?顧客URLのClickOnceを公開する必要がありました。 http:// customer_server/your_app? – abmv

0

XBAPアプリケーションを実行するには、クライアントも.NET Frameworkを実行する必要があります。 .NET FrameworkをインストールせずにXBAPを実行することはできません。

デフォルトでは、アプリケーションに対して部分的な信頼アクセス許可が与えられます。 FullTrustアクセスを有効にするには、次のいずれかが、クライアント上でアプリケーションのURLへのアクセス権を付与する必要があります。

caspol -m -ag 1 -url "http://server/app/*" FullTrust -exclusive on 

か、クライアント信頼された証明書にセキュリティ証明書を追加することができます。ステップ・バイ・ステップ・ガイドはHow to run WPF - XBAP as Full Trust Applicationです。

関連する問題