インストーラーの必要性を教えてください への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 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の方が楽が出来ると思います。
例えば,マシン全体に関わる設定を行うのはインストーラの役割です。
# デフォルトでは,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で自分で作るのもありです。(結構難しいです。)
インストーラを作るならInnoSetupが好きです。
あとはVBで自分で作るのもありです。(結構難しいです。)
投稿者 いんでくさ  (社会人)
投稿日時
2009/10/15 07:27:19
すいません、
上の返事、私ですので。
名前の欄に別の記事の題名入っていますが。
たぶんブラウザの削除パス記憶のせいでだと思います。
上の返事、私ですので。
名前の欄に別の記事の題名入っていますが。
たぶんブラウザの削除パス記憶のせいでだと思います。
投稿者 プログラミングの雑誌  (社会人)
投稿日時
2009/10/15 07:06:22
確かに.NET Frameworkを利用者にインストールさせたり、
設定させたりというのは、負荷になると思います。
そうですか。やっぱりインストーラー、私も使ってみようと思いました。
余談ですが、無償版では、
セットアッププロジェクト(?)が付いていないんでしたっけ?
以前、VB2005でそれらしきことをやったことがあったのですが、
フレームワークのほか、VBの場合、何か色々と同梱させる必要があった気が。。。。
勉強してみますが、インストーラー部分に関しては、
VB付属(内蔵と呼ぶべき?)より他で用意したほうがよいのでしょうかね。
皆さんはどうされているんでしょう。
以前、クリックワンスで苦い思い出がありまして。
あれはベータだったからかもしれませんが。
設定させたりというのは、負荷になると思います。
そうですか。やっぱりインストーラー、私も使ってみようと思いました。
余談ですが、無償版では、
セットアッププロジェクト(?)が付いていないんでしたっけ?
以前、VB2005でそれらしきことをやったことがあったのですが、
フレームワークのほか、VBの場合、何か色々と同梱させる必要があった気が。。。。
勉強してみますが、インストーラー部分に関しては、
VB付属(内蔵と呼ぶべき?)より他で用意したほうがよいのでしょうかね。
皆さんはどうされているんでしょう。
以前、クリックワンスで苦い思い出がありまして。
あれはベータだったからかもしれませんが。
投稿者 刈谷勇  (社会人)
投稿日時
2009/10/15 01:04:27
?-?さんがいっているとおり何ですが、もう少し具体例をあげると
たとえば、ある人がプログラムを作り、友人にあげるとします。
このとき、もらった友人はVB2005で作ったものなのかVB2008で作ったものかはわかりませんよね。
そのため、.net Frameworkのどのバージョンが必要なのかをあらかじめ伝えておかなければなりません。
また、友人がPCに詳しくなければ.net Frameworkのインストールの仕方を教えなければなりません。
あとは、作業フォルダが必要ならは、インストール時に作っておくとかもすることがあります。
これらは、確かに人の手でもできますが、作業する人は大変面倒ですよね。
なので、インストーラで自動的にやってあげるということです。
たとえば、ある人がプログラムを作り、友人にあげるとします。
このとき、もらった友人はVB2005で作ったものなのかVB2008で作ったものかはわかりませんよね。
そのため、.net Frameworkのどのバージョンが必要なのかをあらかじめ伝えておかなければなりません。
また、友人がPCに詳しくなければ.net Frameworkのインストールの仕方を教えなければなりません。
あとは、作業フォルダが必要ならは、インストール時に作っておくとかもすることがあります。
これらは、確かに人の手でもできますが、作業する人は大変面倒ですよね。
なので、インストーラで自動的にやってあげるということです。
投稿者 ?-?  (その他)
投稿日時
2009/10/14 22:39:45
OSをインストールしたばっかりのPCにVB.NETで作成したソフトなどのEXEのみをコピーしてみてください。
そうするとあら不思議。
起動しない、ということがあることも。
関連するDLLのインストールや、レジストリの設定も同時にやってくれるインストーラーはとっても便利ですね。
そうするとあら不思議。
起動しない、ということがあることも。
関連するDLLのインストールや、レジストリの設定も同時にやってくれるインストーラーはとっても便利ですね。
投稿者 いんでくさ  (社会人)
投稿日時
2009/10/14 22:34:18
作ったプログラムを配布してみる際、
私は実行ファイルだけをディスクに入れるなりしています。
それで足りてしまうものしか作っていないというのもあります。
しかし、そうしているほどに、
「インストーラーって、なんなんだろう?」
っていう気分が少しずつこみ上げているのも正直なところです。
インストールというと、ソフトをPCに組み込むという意味が、
特に私のようなPC未熟者ほど強いと思うのですが、
実際のところ、CなりDなり、ただ単に、
ハードディスクに「置いておくだけ」という実感しかありません。
インストーラーというソフトウェアがあることは分かりますが、
それが必要であるというところまでの実感は得られず、
言葉は適切でないかもしれませんが、結局は何か、こう、
「装飾的」な意味合いのソフトウェアでしかないのでは?
というあたりで私の理解と印象は止まっています。
もちろん、プログラムの実行の際、
資料として使用する画像等のファイルが必要だとしても、
やっぱりそれすら、ただフォルダが1つなり複数なり、
ディスクにあれば事足りるような気がしまして。
そうすると、インストーラーって、なんなんだろう?
そんなふうに、考えてしまうのです。
私は実行ファイルだけをディスクに入れるなりしています。
それで足りてしまうものしか作っていないというのもあります。
しかし、そうしているほどに、
「インストーラーって、なんなんだろう?」
っていう気分が少しずつこみ上げているのも正直なところです。
インストールというと、ソフトをPCに組み込むという意味が、
特に私のようなPC未熟者ほど強いと思うのですが、
実際のところ、CなりDなり、ただ単に、
ハードディスクに「置いておくだけ」という実感しかありません。
インストーラーというソフトウェアがあることは分かりますが、
それが必要であるというところまでの実感は得られず、
言葉は適切でないかもしれませんが、結局は何か、こう、
「装飾的」な意味合いのソフトウェアでしかないのでは?
というあたりで私の理解と印象は止まっています。
もちろん、プログラムの実行の際、
資料として使用する画像等のファイルが必要だとしても、
やっぱりそれすら、ただフォルダが1つなり複数なり、
ディスクにあれば事足りるような気がしまして。
そうすると、インストーラーって、なんなんだろう?
そんなふうに、考えてしまうのです。
http://www.atmarkit.co.jp/fdotnet/vblab/compareinstaller/compareinstaller_01.html