C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: WCFを使用したアプリをClickOnceで配布する


(過去ログ 20 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■7580 / inTopicNo.1)  WCFを使用したアプリをClickOnceで配布する
  
□投稿者/ ken (1回)-(2007/09/10(Mon) 17:20:55)

分類:[.NET 全般] 

いつも参考にさせて頂いております。

さて早速なのですがWCFを使用したアプリをClickOnceで配布する件について
質問させてください。
現状、app.configに設定してある情報について、はまってます。。。

というのも、今回のアプリは通信部分にWCFを採用することになり、
機嫌よくWCFサービスを作成し、クライアントアプリを作成して
さぁClickOnceで配布!!というところで躓きました。。。

app.configにendpointのアドレスを設定している
(というか勝手に設定される。)のですが、
ClickOnceで発行すると、〜.exe.config.deployとなって発行され、
しかも発行後に編集するとハッシュ値が変わっているということで
起動自体できなくなってしまいます。

何がしたいかというと、開発環境と本番環境で見に行くWebサーバが
違うので、その設定を変更したいのです。(変更できるように外部ファイルに
出したい。)
たとえば、開発環境ではVisual Web Developer付属のWWWサーバでホストするので
http://localhost:9999/service.svcですが、本番はIISでホストするので、
http://www.test.com/service.svcというように設定を変更したいのです。

<appSettings file=〜>を使用して外部ファイルを作成しようと試みましたが、
ClickOnceでの配布対象にするために「データファイル」と指定するとマニフェストに
含まれてしまうので、変更するとハッシュ値エラーになります。

どうにも悩ましく解決できないので、どなたかよい方法や私が見落としている部分
等ご教授願えませんでしょうか?

宜しくお願い致します。


引用返信 編集キー/
■7583 / inTopicNo.2)  Re[1]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ 渋木宏明(ひどり) (349回)-(2007/09/10(Mon) 18:35:43)
渋木宏明(ひどり) さんの Web サイト
ごく単純に

・ClickOnce 配布を行うためのディレクトリに、ClickOnce とは無関係に配置したファイルに設定を書いておく
・それを ClickOnce 配布したアプリの起動時とかに読んで設定を取得する

というのは駄目ですか?

具体的にどうやればいいかは知りませんが、ClickOnce アプリなら、自分が配布された url を動的に知ることは簡単にできるんじゃないかと。

サービスの接続先のホスト=自分を配布したホストであるなら、設定ファイルも不要かも。


引用返信 編集キー/
■8135 / inTopicNo.3)  Re[2]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ ken (2回)-(2007/09/25(Tue) 10:00:47)
返信非常に遅くなり申し訳ございません。
ちょっと遠隔地に出ておりましたので、ただ本件に関しては
未だ未解決です。

では本題に入らせていただきまして。。。

渋木宏明(ひどり) さんの意見、ありがたく拝聴させていただきました。
なるほど、確かにサービスホスト=自分を配布したホストであれば
いけそうです。

ただ、今回の顧客に関してはサービスホスト=自分を配布したホスト
ではなく直接の解決策としては採用しにくいのです。

そこでもうひとつ頂いた意見ですが、これはできれば避けたいのです。
クライアントへの配布云々はすべてClickOnceの機構に任せてしまいたいので。
(System.Deployment名前空間はデバッグ方法が特殊になるので使いたくない)

しかし貴重なご意見ありがとうございます。
もう少し本件を続けさせて頂きますと共に、当方でも引き続き
調査してまいります。

もしほかのご意見あらば、お手数をお掛けいたしますがよろしく
お願いいたします。

解決法が見つかった暁にはまた自己レスとしてでも掲示させて
頂きます。

よろしくお願い致します。
重ねて有難うございました。

No7583 (渋木宏明(ひどり) さん) に返信
> ごく単純に
>
> ・ClickOnce 配布を行うためのディレクトリに、ClickOnce とは無関係に配置したファイルに設定を書いておく
> ・それを ClickOnce 配布したアプリの起動時とかに読んで設定を取得する
>
> というのは駄目ですか?
>
> 具体的にどうやればいいかは知りませんが、ClickOnce アプリなら、自分が配布された url を動的に知ることは簡単にできるんじゃないかと。
>
> サービスの接続先のホスト=自分を配布したホストであるなら、設定ファイルも不要かも。
>
>
引用返信 編集キー/
■8138 / inTopicNo.4)  Re[3]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ ひろ (43回)-(2007/09/25(Tue) 10:37:33)
No8135 (ken さん) に返信

私も ClickOnce が気になって色々調べています。
あくまで私の見解ですが、VS 2005 での ClickOnce 発行(プロジェクトのプロパティでやるやつ)は

「ClickOnce の仕組みを理解する」

程度の内容でしかない(いわゆるサンプル程度)と思っています。

まだまだ色々判らないことが多いのですが、

「配置は全て手動で行う」

というのが現時点での私の結論です。
^^^^^^
ひょっとしたら 次のバージョン(2008)では、もっと良くなっているかもしれません。

.NET Framework SDK 内にツール(mage.exe/mageui.exe)があるのは既にご存じだと思います。
本番環境にアプリケーションを手動で配置し、上記ツールでアプリケーション・マニフェスト及び
配置マニフェストを手動で作成するのが唯一の方法かと。
(無論、IIS で ClickOnce が動作するように設定がされているという前提です。)

#複数の exe を1回のクリックでインストールしたりする方法とか
#機能追加で exe が増えたり、バージョンが上がったりした時とか
#こういうのを設定してくれるツールやセットアップがあるといいなぁ。


引用返信 編集キー/
■8142 / inTopicNo.5)  Re[4]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ ken (3回)-(2007/09/25(Tue) 11:02:17)
ほんとそうですよね。

配置に関する情報が固定という前提条件付だと
それなりに説得力のあるリソースに遭遇できるのですが、
そうでない場合はちょっと困ったことになりますよね。

mageを使った方法は模索は完了しており、手段的には候補として
考えてはおりましたが、もうちょっと前段階で手を打てないか
考え中でした。

ClickOnceにおいてアプリケーション構成ファイルの扱いは
未だ洗練され切ったものじゃないという判断してしまっても
良いものかどうか。なかなか割り切れないです。。。

No8138 (ひろ さん) に返信
> ■No8135 (ken さん) に返信
>
> 私も ClickOnce が気になって色々調べています。
> あくまで私の見解ですが、VS 2005 での ClickOnce 発行(プロジェクトのプロパティでやるやつ)は
>
> 「ClickOnce の仕組みを理解する」
>
> 程度の内容でしかない(いわゆるサンプル程度)と思っています。
>
> まだまだ色々判らないことが多いのですが、
>
> 「配置は全て手動で行う」
>
> というのが現時点での私の結論です。
> ^^^^^^
> ひょっとしたら 次のバージョン(2008)では、もっと良くなっているかもしれません。
>
> .NET Framework SDK 内にツール(mage.exe/mageui.exe)があるのは既にご存じだと思います。
> 本番環境にアプリケーションを手動で配置し、上記ツールでアプリケーション・マニフェスト及び
> 配置マニフェストを手動で作成するのが唯一の方法かと。
> (無論、IIS で ClickOnce が動作するように設定がされているという前提です。)
>
> #複数の exe を1回のクリックでインストールしたりする方法とか
> #機能追加で exe が増えたり、バージョンが上がったりした時とか
> #こういうのを設定してくれるツールやセットアップがあるといいなぁ。
>
>
引用返信 編集キー/
■8153 / inTopicNo.6)  Re[5]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ とっちゃん (186回)-(2007/09/25(Tue) 13:46:45)
とっちゃん さんの Web サイト
No8142 (ken さん) に返信
自分ではノーチェック(というか高くて買えねーしw)なのでわからんですが、
InstallShield の 12(だと思う)から、ClickOnce 用のなんかが追加されてるそうです。

といっても、ニュースリリースに出てることしかわからんので具体的なことは何も...w
というところですけどw

おいらの場合、仕事上では ClickOnce を使う可能性は皆無(あるとしても社内リリース程度)に近いので
まじめに取り組んだこともないし、InstallShield ともずいぶんと前に袂をわかってしまったので
現状どうなってるのかわからんのですけどねw

ま、一応 「VS だけ」がClickOnceをIDEで発行できるわけじゃないらしいということだけw

引用返信 編集キー/
■8154 / inTopicNo.7)  Re[6]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ ken (4回)-(2007/09/25(Tue) 13:59:23)
そうですね。確かにMSBuildとSDKで提供されているツールを使えば
ClickOnceアプリの発行自体は可能ですよね。
ですからInstallSheild自体が発行できても不思議はあまりないです。

ただ、私が探してやまないのは外部に設定を保持して、その変更に
よりアプリケーションを再ビルドしなくてもいいようにするという
役目をもったアプリケーション構成ファイルという仕組みが、
ClickOnceと組み合わさるとその使用感を全く違ったものに
なってしまうという事象が回避できる方法なのです。

無理なんでしょうか。。。

No8153 (とっちゃん さん) に返信
> ■No8142 (ken さん) に返信
> 自分ではノーチェック(というか高くて買えねーしw)なのでわからんですが、
> InstallShield の 12(だと思う)から、ClickOnce 用のなんかが追加されてるそうです。
>
> といっても、ニュースリリースに出てることしかわからんので具体的なことは何も...w
> というところですけどw
>
> おいらの場合、仕事上では ClickOnce を使う可能性は皆無(あるとしても社内リリース程度)に近いので
> まじめに取り組んだこともないし、InstallShield ともずいぶんと前に袂をわかってしまったので
> 現状どうなってるのかわからんのですけどねw
>
> ま、一応 「VS だけ」がClickOnceをIDEで発行できるわけじゃないらしいということだけw
>
引用返信 編集キー/
■8155 / inTopicNo.8)  Re[7]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ むねお (6回)-(2007/09/25(Tue) 14:18:57)
こんにちわ。
WCFサービスではなく、一般のWebサービスの事例みたいですが、内容的には同じように思えます。
こちらの質問者の方は解決したみたいですが・・・
http://vsug.jp/tabid/63/forumid/42/postid/2666/view/topic/Default.aspx


引用返信 編集キー/
■8238 / inTopicNo.9)  Re[8]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ ken (5回)-(2007/09/26(Wed) 16:57:27)
レスありがとうございます。むねおさん。

確かに!!
私もここに書き込む前の調査で見ました。

しかし、少し違うのです。教えていただいたURLの内容は確かにapp.config
の内容は書き換えていますが、発行後に書き換えているのでは
なくて、発行前に書き換えて発行しているのでしょう。

やっぱり発行前に書き換えておくしかないのでしょうかねぇ。。。

だとするとお客様に事前にサーバ等の設定情報を聞かなくては
ならなくなります。

良い方法はないでしょうか?

No8155 (むねお さん) に返信
> こんにちわ。
> WCFサービスではなく、一般のWebサービスの事例みたいですが、内容的には同じように思えます。
> こちらの質問者の方は解決したみたいですが・・・
> http://vsug.jp/tabid/63/forumid/42/postid/2666/view/topic/Default.aspx
>
>
引用返信 編集キー/
■8249 / inTopicNo.10)  Re[9]: WCFを使用したアプリをClickOnceで配布する
□投稿者/ むねお (7回)-(2007/09/26(Wed) 20:29:15)
> しかし、少し違うのです。教えていただいたURLの内容は確かにapp.config
> の内容は書き換えていますが、発行後に書き換えているのでは
> なくて、発行前に書き換えて発行しているのでしょう。

発行後の編集がうまくいかないという内容に対し、発行後ではなくて発行前に行うのが正当な方法だ、みたいな内容でしたね。
話は変わりますが、Visual Studio 2008βでは発行オプション画面の最後に「信頼情報のアプリケーションマニフェストを使用する」
という項目が追加されています。(デフォルトは未チェックです)署名と関係があるかは不明です。



引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -