dポイントプレゼントキャンペーン実施中!

VB6でアプリケーションを作成したのですが、他のマシンに配布する場合に実行形式(EXE)だけだと、DLLやOCXなどの有無やバージョンの違いで動作しないのですが、Setup.exeなどダブルクリックするだけで、インストールできるようにしたいですが、方法がわかりません。
VBのランタイムは、このSetup.exeより先にインストールしないと、Setup.exe自体でインストールが中断されるのでしょうか?

あと、.NETですがVB6のようにDLLやOCXの有無・バージョン違いなど気にせず簡単に配布できるのがメリットの一つと解釈しても良いのでしょうか?

このように配布・インストール関連で詳しい書籍などご存知でしたら教えてください。
インストーラソフトというものは言葉聞いたことがあるのですが、
.NET使うならば、あまり必要ないのでしょうか?これもお勧めのインストーラソフトがあるのでしたらご教授下さい。

A 回答 (2件)

殆どのVB製フリーソフトでは別途ランタイムをインストールしてくださいで済ましているようですが。


どうしても組み込みたいということでしたら、インストーラーの作成時に組み込みましょう。殆どの人はそれで問題がおきる(低バージョンのDLLでの上書きとか)ことが予想されるため、ユーザー任せにしているわけで。
>Setup.exe自体でインストールが中断
そのインストーラー自体が特定のDLLやOCXに依存して作っているのなら先に必要となりますが、殆どのケースでは必要ないように作られるかと思います。どうやって作ったのか次第です。

.NETの場合は、これらのVB時代の反省を生かして所謂ランタイム的なものを.NetFrameWorkとしてマイクロソフトが一元管理しています。そのため.NdetFrameWorkのバージョンが1.1なり2.0を入れておいて下さいとするだけで(またそのインストールがWindowsUPDATEから可能)特に作成者側が気を回す必要はなくなりました。

VB時代も含めてのインストーラーの参考URL
http://dobon.net/vb/installer/index.html
    • good
    • 0

VB なら開発環境に「ディストリビューション ウィザード」って入ってなかったかなぁ。


そいつで実行環境へ配布するセットアップ ファイルを作れます。
作成されたセットアップ ファイルの中には VB 6.0 の標準ランタイムはもちろん、標準以外の DLL や OCX を使っているのならそれらも入れてくれます。

ただ、VB 6.0 標準ランタイムだけで済むプログラムで、相手が Windows XP、Windows Server 2003、Windows Vista なら exe だけ配布しても大丈夫ですよ。
これらの OS には最初から VB 6.0 が入っていますし、ランタイムのバージョンも最新だったと思います。

> VBのランタイムは、このSetup.exeより先にインストールしないと、Setup.exe自体でインストールが中断されるのでしょうか?

Setup.exe 自体は VB ランタイム環境を必要としませんので大丈夫です。
先にも書いたとおり、Setup.exe 自体がランタイムをインストールしてくれます。

> あと、.NETですがVB6のようにDLLやOCXの有無・バージョン違いなど気にせず簡単に配布できるのがメリットの一つと解釈しても良いのでしょうか?

その通りです。
旧 VB 時代のように、ランタイム環境が管理している System ファイルをプログラム配布によって上書きしませんので、安心して配布することができます。
(必要であれば配布してインストールしたプログラムのフォルダ内に配置されます)

> .NET使うならば、あまり必要ないのでしょうか?これもお勧めのインストーラソフトがあるのでしたらご教授下さい。

.NET 開発環境で作れるインストーラや、.NET 開発環境で作れる配布環境に不満があればサードパーティー製の製品を考えればいいと思います。
標準で作成できるインストーラでもかなりの事ができますので Web で調べてみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!