インストーラーの必要性を教えてください への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 YuO  (社会人) 投稿日時 2009/11/5 03:23:37
WiX関係探していて,高萩さん (とっちゃんさん) が@ITに「なぜインストーラーが必要か」について書かれていたものを見つけましたので,書いておきます。
http://www.atmarkit.co.jp/fdotnet/vblab/compareinstaller/compareinstaller_01.html
投稿者 YuO  (社会人) 投稿日時 2009/10/31 03:55:48
原則的に,インストーラは初期設定を行うための物です。
例えば,マシン全体に関わる設定を行うのはインストーラの役割です。
# デフォルトでは,UsersからはHKLMにしろ%ProgramFiles%にしろCommonAppDataにしろ書き込めないので。

以前,setup.exeではなく.msiを実行したためにVSTOが入らず動かない,という例も経験したことがあります。


手軽に作るならClickOnce,もう少し制御したいならセットアッププロジェクト (VS Std以上だったかな),
細かく制御したいならWiX,お金があるならInstall Sheildあたりがインストーラ作成用のものでしょうか。
WiX : http://wix.sourceforge.net/
Install Sheild : http://www.networld.co.jp/is/main.htm

ちなみに,インストーラは少なくともWindows Installerへ対応している物を使うのが無難ですし,推奨されています。
少し古いですが,「Designed for Windows XP アプリケーション仕様書 2.3 日本語版」には,
「S5.4 検証テストに合格した Windows Installer ベースのパッケージを使用してインストールする」
という項目があります。

InnoSetupはFAQで公式にWindows Installerへの対応をしないと表明しているので,上記の理由からお勧めできません。
自作するくらいならWiXの方が楽が出来ると思います。
投稿者 トマト  (小学生) 投稿日時 2009/10/31 02:28:03
個人的な考えでは、インストーラは時短や初心者のためだと思っています。
インストーラを作るならInnoSetupが好きです。
あとはVBで自分で作るのもありです。(結構難しいです。)
投稿者 いんでくさ  (社会人) 投稿日時 2009/10/15 07:27:19
すいません、
上の返事、私ですので。
名前の欄に別の記事の題名入っていますが。
たぶんブラウザの削除パス記憶のせいでだと思います。
投稿者 プログラミングの雑誌  (社会人) 投稿日時 2009/10/15 07:06:22
確かに.NET Frameworkを利用者にインストールさせたり、
設定させたりというのは、負荷になると思います。
そうですか。やっぱりインストーラー、私も使ってみようと思いました。


余談ですが、無償版では、
セットアッププロジェクト(?)が付いていないんでしたっけ?
以前、VB2005でそれらしきことをやったことがあったのですが、
フレームワークのほか、VBの場合、何か色々と同梱させる必要があった気が。。。。

勉強してみますが、インストーラー部分に関しては、
VB付属(内蔵と呼ぶべき?)より他で用意したほうがよいのでしょうかね。
皆さんはどうされているんでしょう。
以前、クリックワンスで苦い思い出がありまして。
あれはベータだったからかもしれませんが。
投稿者 刈谷勇  (社会人) 投稿日時 2009/10/15 01:04:27
?-?さんがいっているとおり何ですが、もう少し具体例をあげると

たとえば、ある人がプログラムを作り、友人にあげるとします。
このとき、もらった友人はVB2005で作ったものなのかVB2008で作ったものかはわかりませんよね。
そのため、.net Frameworkのどのバージョンが必要なのかをあらかじめ伝えておかなければなりません。
また、友人がPCに詳しくなければ.net Frameworkのインストールの仕方を教えなければなりません。
あとは、作業フォルダが必要ならは、インストール時に作っておくとかもすることがあります。

これらは、確かに人の手でもできますが、作業する人は大変面倒ですよね。
なので、インストーラで自動的にやってあげるということです。
投稿者 ?-?  (その他) 投稿日時 2009/10/14 22:39:45
OSをインストールしたばっかりのPCにVB.NETで作成したソフトなどのEXEのみをコピーしてみてください。
そうするとあら不思議。
起動しない、ということがあることも。

関連するDLLのインストールや、レジストリの設定も同時にやってくれるインストーラーはとっても便利ですね。
投稿者 いんでくさ  (社会人) 投稿日時 2009/10/14 22:34:18
作ったプログラムを配布してみる際、
私は実行ファイルだけをディスクに入れるなりしています。
それで足りてしまうものしか作っていないというのもあります。
しかし、そうしているほどに、

「インストーラーって、なんなんだろう?」

っていう気分が少しずつこみ上げているのも正直なところです。
インストールというと、ソフトをPCに組み込むという意味が、
特に私のようなPC未熟者ほど強いと思うのですが、
実際のところ、CなりDなり、ただ単に、
ハードディスクに「置いておくだけ」という実感しかありません。


インストーラーというソフトウェアがあることは分かりますが、
それが必要であるというところまでの実感は得られず、
言葉は適切でないかもしれませんが、結局は何か、こう、
「装飾的」な意味合いのソフトウェアでしかないのでは?
というあたりで私の理解と印象は止まっています。


もちろん、プログラムの実行の際、
資料として使用する画像等のファイルが必要だとしても、
やっぱりそれすら、ただフォルダが1つなり複数なり、
ディスクにあれば事足りるような気がしまして。

そうすると、インストーラーって、なんなんだろう?
そんなふうに、考えてしまうのです。