- PR -

VB.NETで作成したアプリケーションの配布について

投稿者投稿内容
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-05-24 16:57
引用:

ぶちさんの書き込み (2007-05-24 16:26) より:

お客さんを説得できればいいのですが、
現在運用しているシステムがあるので
なかなか難しいところです。。。


理詰めで正論吐いたからといって、納得するわけではありませんからね。

現状では、msi についてのまともな情報は、英語リソースしかありません。

日本語資料もそこそこありますが、殆どが概要レベルw

で、コピーすればいいだけというのであれば、なにもインストーラを
作らなくても、手順書だけでいいと思うのですが?
そのほうがリスクも少ないし、問題も発生しづらいと思います。

もともと、インストーラってのはその手順書を機械化しただけですからw

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
ぶち
常連さん
会議室デビュー日: 2006/02/15
投稿数: 29
投稿日時: 2007-05-25 09:19
とっちゃんさん

返信ありがとうございます。

インストーラを使用しないでインストールができればいいのですが。。。
実行ファイルやDLLのコピーだけでは無理ですよね?
インストール時に何をしなくてはいけないかが
よくわからないんですよね。。。

お客さんには正論いってもしょうがないので
お願いでいくしかないかな〜と思っています。

それができれば一番いいのですが。。。
きよの
常連さん
会議室デビュー日: 2004/02/07
投稿数: 34
投稿日時: 2007-05-25 12:40
引用:

ぶちさんの書き込み (2007-05-25 09:19) より:
とっちゃんさん

インストーラを使用しないでインストールができればいいのですが。。。
実行ファイルやDLLのコピーだけでは無理ですよね?



OCX や ActiveX などを使わないピュアな .NET であれば、コピーしただけで動作すると思いますが?
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-05-25 12:56
引用:

ぶちさんの書き込み (2007-05-25 09:19) より:

インストーラを使用しないでインストールができればいいのですが。。。
実行ファイルやDLLのコピーだけでは無理ですよね?
インストール時に何をしなくてはいけないかが
よくわからないんですよね。。。


インストーラがやるべきことは、アプリケーションを起動できるようにすることです。
何をやらなければいけないかは、アプリケーションを作る人にしかわかりません。

ようするに設計段階である今の状態では、インストール時に処理しなければならない作業がなにかは完全には見繕うことができないということになります。

わかってる範囲では、
Excel/Oracle を使うということと、ODP.NET を使うと言うことですよね?
Excel や Oracle は別の製品ですので、今回検討しているインストーラで何かをするという必要はありません。
なにかやるとしたら、インストール済みを確認する程度ですね。

こちらは、運用上の必要項目でもあるので
エンドユーザー(もしくは導入責任者)に事前に使えるようにしておけ!と言っておかなければならない問題なので、どちらにしても「予めインストールしておきましょう。」ということになります。

なにかやるとすれば、ODP.NET のインストールくらいですが、こちらは使ったこともないし、もってないのでサッパリわかりません。

配布用に専用のEXEが用意されているなどであれば、それをつかってインストールしますし、そういうのが無いのなら、EXEをビルドするとコピーをそこに置いてくれるはずなので、それを一緒に配布すればOKです。

このあたりは、ODP.NET の配布方法として明文化されているとおもいますので、それをお読みください。



おそらく、作成するEXEやDLLは、登録作業は必要にならないと思います(普通は必要にはならない)。
何かいじくるという可能性があるとすれば、app.config に接続文字列を持たせているという場合などでしょう。

とはいえ、事前に固定的な値を規定できるのであれば配布するファイルの app.config を書き換えておけばいいだけです。
実行環境ごとに個別という場合は、手順書に変更方法を明記しておけばOKですね。


.NET のアプリでインストーラがないと不自由するのは、なんらかの登録を必要とするモノだけです。
たとえば、サービスであるとか、COMオブジェクト(使う側ではなく使わせる側<作るのは大変らしいですがw)であるなどですね。

あとは、アドオンのように別のアプリに登録するという場合も、インストーラがあった方が楽かもしれません。

が実際は、そのような部分であっても、手順書とバッチファイルでほとんど実現できてしまうとおもいます。

プログラム的なインストーラを必要とするのは、「アンインストールされること」を前提としておく必要のあるソフトだけです。要するにパッケージソフトなどですね。

業務ソフトのように、あちこちにインストールすることはあっても、アンインストールすることはないというのであれば
インストーラを作らなければならないという必然性はありません。

本来ならアンインストールされることがない場合でもインストーラを作った方が良いのですが(人為的なミスが無くなりますので)、必ずしも作らなければならないというものではありませんよ。


いずれにしてもアプリケーション作成中にインストール手順書(社内向け)は作っておかないと
後々インストーラを作るにせよ作らないにせよ、困ることになります。

その点では、作成中の作業が変わるわけではありませんしね。


ちなみに、このインストール手順書を作る工程をインストーラでは設計と言います。
どれくらいこの作業が重要か?というと、きちんと考慮されていないとインストールする為に、専用のプログラムを作らなければならなくなるという位重要です。
コスト増加で済めばいいですが、場合によってはアプリケーションを作り直さないとなどということもありえます。

よくある話では、開発環境にしかないコンポーネントを使っていて、エンドユーザーの処で動かない!という奴ですね。

エンドユーザー様にそのコンポーネントを入れていただくために、VSを導入させるなどにならないようにする為にも、設計時点からきちんとこの手順書をまとめておく必要があります。

もっとも、必要なのは、EXEのほかに何がいるか?社内ではどこにあって、インストール時にはどこに置けばいいか?だけですけどw


ちなみに、Setup Auther(セットアップを作る人)の作業はこの手順書という名の設計を基にして

手動でという場合は、手順書を清書する。
自動でという場合は、手順書からインストーラを作る。

のが実装作業となります。

担当になる人の得意な方で(政治的な面も含めてw)選べばいいとおもいますよ。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
ぶち
常連さん
会議室デビュー日: 2006/02/15
投稿数: 29
投稿日時: 2007-05-25 15:25
きよのさん
とっちゃんさん
返信ありがとうございます。

とても勉強になります。
インストーラありきで考えていたので最初からインストールを
手動で行って、単純なインストールですむ方法を考えたいと思います。

VB.NETの特別なコンポーネントは使用してないので問題ないと思います。

みなさん、いろいろありがとうございました。

ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-05-25 16:39
引用:

ぶちさんの書き込み (2007-05-25 15:25) より:
VB.NETの特別なコンポーネントは使用してないので問題ないと思います。


VB.NETの特別なコンポーネント?何か勘違いしてない?
それとも.NetFramework標準外のコンポーネントと言いたいの?
ぶち
常連さん
会議室デビュー日: 2006/02/15
投稿数: 29
投稿日時: 2007-05-25 16:55
ぶさいくろうさん返信ありがとうございます。

すみません。特別なコンポーネントなんてありませんね。。。
.NETFramework標準外のコンポーネントのことです。

スキルアップ/キャリアアップ(JOB@IT)