- - PR -
VB.NETで作成したアプリの展開方法について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-07-03 18:10
VB.NETアプリの展開について質問させていただきます。
VB.NET2005で作成したメニューのEXEと、各業務のDLLで構成したWindowsアプリケーションを作成しました。 メニューはDLLの業務を起動ドライバを経由して指導しますので、各DLLはメニューのソリューション配下にはいません。 ですので、ちょっと調べたClickOnceが使えないと思います。 最初の展開では各クライアントにインストーラーで配布しますが、その後、修正が入ったときに対象のDLLだけ配布したいと思っています。 配布方法はなるべく自動にしたいのですが、ClickOnce以外でこれが実現できる案は何かないでしょうか? 良いお知恵があるかた、よろしくお願いいたします。 | ||||
|
投稿日時: 2008-07-03 19:04
大手のパッケージ ソフトでやっているような起動時に最新版の確認をして自動配布みたいなイメージでしょうか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-07-03 19:16
じゃんぬねっとさん
ありがとうございます。 起動時に最新版の確認をして自動配布 まさにその通りです。 イメージはwindows updateとでも申しましょうか。 クライアントは300台ほどあるのと、オペレータはシステムに詳しくないようです。 | ||||
|
投稿日時: 2008-07-03 20:15
mage (or mageui)を使って手動でパッケージングすれば、clickonceも可能だと思うよ。
入り口はここかな? Windows フォーム アプリケーションの ClickOnce 配置(microsoft.com) チュートリアル : ClickOnce アプリケーションを手動で配置する(microsoft.com) | ||||
|
投稿日時: 2008-07-04 12:34
どこまで開発コスト(金額面、人的な面)がかけられるかにもよりますが
WindowsInstaller でもその手のことはできますよ。 WiX(3.0系)なら、ClickOnce 風味な配布ができるものもあります。 RSSを使って自動配信もできるらしいです。 #日本語に対応してるかはわかりませんが #マルチリンガルでプロジェクトが動いてるので対応してると思います。 あとは、配布の際にどういう経路が利用可能か?ですね。 それなりに太い回線でのLAN/WAN接続なら msp でも問題ないでしょうけど、アナログモデムで接続とかになると 一ビットでも少なく!という世界ですし。 VSセットアップでも別ソリューションのファイルを対象にはできますが こいつの場合は、アップデート時にそれだけというのがないので ちょっと用途的には厳しいですね。 余談 ClickOnce は配布の方法によっては実行制限が働きます。 初回の配布はいいけど2回目以降が大問題ということになりかねないので注意が必要です。 詳しくは http://msdn.microsoft.com/ja-jp/library/76e4d2xw(VS.80).aspx を参照のこと。 | ||||
|
投稿日時: 2008-07-04 13:14
>メニューはDLLの業務を起動ドライバを経由して指導しますので、各DLLはメニューのソリューション配下にはいません。
>ですので、ちょっと調べたClickOnceが使えないと思います。 使ってなくても配下に加えて参照してしまえばどうですか? 技術的にはすべてをソリューション配下に含めることは可能ですし、メニューが参照することも可能です。 >配布方法はなるべく自動にしたいのですが、ClickOnce以外でこれが実現できる案は何かないでしょうか? とありますが、やはりClickOnceが便利だと思いますから、まずはこの方向を検討されてはどうでしょうか? | ||||
|
投稿日時: 2008-07-04 17:52
皆さんありがとうございます。
>かずくんさん mage (or mageui)に興味をそそられました。 こちらを挑戦してみたいと思います。 >とっちゃんさん WindowsInstallerでも出来るんですか?ちょっと想像がつかないです。 RSSというのも、実際どうやってやるのでしょう? 回線は社内LANですので、あまり容量については気にしておりません。 >rucioさん やはり全てをソリューション配下に含めたほうが良いですか。 ただ、かなり本数の多いプロジェクトですので、DLLの数は200くらいになってしまうんです。 そうなりますと、ビルドするだけでもかなり時間がかかりそうですよね。。。 | ||||
|
投稿日時: 2008-07-04 20:13
RSSにアップデート情報を書いておくと、それで更新のお知らせができるらしいです。 なにせ、出来た当初にちょっと見ただけという程度なんでよくわかってないんですけどね。 ボリュームがどのくらいなのかよくわからんのですが(DLLが別ソリューションで200あるんですか?) DLL200本はちょっと現実的ではないような... ソリューションの方はファイル参照にしておけば、都度ビルドはなくなりますので 問題はないといえますけど...なんか規模が想定できない。 で ClickOnce ですが、ローカルなファイル操作とかはあるんでしょうか? もしあるのであれば、初回はCDとかから入れないとアクセス制限入りますよ。 #共有フォルダからだとイントラ制限受けるのでスタンドアロン系には向かない 社内LANであれば、配布範囲が社内だけですので、 ActiveDirectory を用意している環境なら、そこで自動配信という手段もあります。 これなら、ログオン時に自動的に処理してくれるという選択肢が取れますし、 通常のインストーラ同様、マシンアカウントでインストールができます。 #必要かどうかはわかりませんけど これなら、アプリケーションは関与せず、ログオン時に管理サイドで更新を 行えるのでかなり楽ができますし、インストーラ(更新も含め)もVSセットアップで いけるのでそれほど厳しいということもないと思いますよ。 |