tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルインストール不要の配布exe
記事No14895
投稿日: 2010/09/03(Fri) 01:03
投稿者クロ
配布用のexeファイルにランタイムライブラリーを付属させる場合
Windowsのプログラム インストールメニューによる方法になりちょっと大掛かりです。

先日ある方が作ったものですが、最初はランタイム・ライブラリーを別途DLする
ものでしたが、途中よりDLLをexeに組み込む方法に変更しました。
このexeはインストールすることなく直接の実行できます。
言語はC++buider2010でした。

VBの配布用exeもランタイムライブラリーを目的の実行プログラムexeに組み込み
使用者はインストールすることなく、直接実行できるexeを作ることはできるのでしょうか。

[ツリー表示へ]
タイトルRe: インストール不要の配布exe
記事No14897
投稿日: 2010/09/03(Fri) 10:56
投稿者魔界の仮面弁士
> 配布用のexeファイルにランタイムライブラリーを付属させる場合
> Windowsのプログラム インストールメニューによる方法になりちょっと大掛かりです。
このあたりは、ターゲット層次第かも知れませんね。

中級者以上にとっては、インストーラーなど不要と感じるかも知れませんが、
PC 自体に慣れていない超初心者にとっては、インストーラーが無いと
逆に使ってもらえないこともあるそうです。なので、多少面倒でも、
インストーラーを作らざるを得ないという場合もあったりします。


> 言語はC++buider2010でした。
CやC++の場合はスタティックリンクが行えますが、VB ではできません。
常にダイナミックリンクであり、ランタイムはどうしても必要となります。

また、たとえ C++ であっても、ADO を利用したりするなど、
依存ファイルがある場合には、それらがインストールされていなければ
使えない事には代わりありません。単純なアプリでは良いのですけれどね。

とはいえ最近の OS では、VB6 の基本ランタイムはインストール済みなので、
アプリケーションの規模によっては、ランタイムの追加インストール無しで
exe のみ配布で実行させることもできます。

[ツリー表示へ]
タイトルRe^2: インストール不要の配布exe
記事No14901
投稿日: 2010/09/04(Sat) 00:21
投稿者クロ
魔界の仮面弁士さん 早速返事いただきありがとうございます。

> とはいえ最近の OS では、VB6 の基本ランタイムはインストール済みなので、
> アプリケーションの規模によっては、ランタイムの追加インストール無しで
> exe のみ配布で実行させることもできます。

ランタイムをインストールしていないPCでも動く、ランタイムを組み込んだ
exe(インストールもなしにそのまま目的ソフトが動く)ファイルは
できないものでしょうか?

今日知り合いより以前そのようなVBのソフトがあったと聞きましたが、
いかがでしょうか。

[ツリー表示へ]
タイトルRe^3: インストール不要の配布exe
記事No14902
投稿日: 2010/09/04(Sat) 14:53
投稿者魔界の仮面弁士
> できないものでしょうか?
できないと回答したつもりです。exe 単体配布で動かせる可能性はあるとは書きましたが、
ランタイムライブラリを exe 内に組み込ませることはできません。
タイプライブラリぐらいなら埋め込めますけれども…。

そもそも、OLE のバージョンにも影響を受けますので、たとえば Win95 の初期バージョンで
動作させようとすれば、VB ランタイムだけではなく、OS の Shell Version も
更新されなければなりません。たとえば VB6 のアプリは、IE の入っていない環境や
IE4 SP無し以下の環境をサポートしていません。

ただし、VB6 の IIS アプリケーション プロジェクトで開発されたアプリなら、
利用者の環境に VB ランタイムが無くても利用できるようになります。
(実行サーバーには必要ですけれどね)

> 今日知り合いより以前そのようなVBのソフトがあったと聞きましたが、
> いかがでしょうか。
その人に具体的な製品名を確認してみてください。たとえば VB2 であれば、
レジストリ登録も不要ですし、EXE と VBX 等を同一フォルダに配置するだけで
動作するアプリを作れます。流石にランタイム不要とはいきませんけれども。

VB6 の場合には、MSVBVM60.DLL が必須となります。他のバージョンについても、
同様の VM (仮想マシン:Virtual Machine)が要求される仕様です。
# ただし、SP による細かな差異を無視すれば、最近の OS には既に導入済みのはず。

このほか、英語版以外の VB を使う場合は、VB6JP.DLL などの、各言語版の
サテライトライブラリが必要です(エラーメッセージを日本語化したり、あるいは
フォント未設定時の初期フォントを日本の MS Pゴシック にするなどの働きをします)。
(もしも VB6JP.DLL が無い場合、英語版ランタイムとして動作します)

[ツリー表示へ]
タイトルRe^4: インストール不要の配布exe
記事No14904
投稿日: 2010/09/04(Sat) 21:54
投稿者クロ
> できないと回答したつもりです。exe 単体配布で動かせる可能性はあるとは書きましたが、
> ランタイムライブラリを exe 内に組み込ませることはできません。

できないということ了解いたしました。
理解が悪く申し訳ありません。

あきらめて通常の配布形式にしたいと思います。

いろいろご説明いただきありがとうございました。

[ツリー表示へ]