”VB6.0(SP5)” で作成したアプリケーションの配布にあたって、お伺いしたいことがあります。
客先から「今回のアプリのインストール後に、既存のVBシステム等に障害が発生しないように」と厳しく通達されています。(当然ですが…)
しかし、インストールするPCは千差万別。
どのようなシステムが既存しているかはそれぞれに違いますし
すべてのPCに完璧な動作保障は無理なのでは?と考えます。
(こんなことは言ってはいけないんですけど…)
そこで「このファイルがある場合はインストールしないように」という制限事項を付けられれば、とは思うのですが
そのような判断は可能でしょうか?
”○○.DLLがあるからこれはVB4.0のシステムが入ってる!”等と
判断できるものなのでしょうか?
なにかご存知の方、良い案をお持ちの方
いらっしゃいましたらご教示いただけないでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>すべてのPCに完璧な動作保障は無理なのでは?と考えます。
おっしゃる通りだと思います。
ただ、極力既存のVBシステムに影響を与えない方向でインストールすることは可能かもしれません。
(ただし、今回インストールするアプリケーションの動作は保証されないでしょうけど)
配布メディアをディストリビューションウィザードで作る場合は、setup.lstを弄ったりディストリビューションウィザード自体を弄ったりすることでカスタマイズが可能です。
...\Microsoft Visual Studio\VB98\Wizards\PDWizard\Setup1
がディストリビューションウィザードの本体です。
(カスタマイズする時はフォルダごとバックアップを取った上でやりましょう)
>”○○.DLLがあるからこれはVB4.0のシステムが入ってる!”等と判断できるものなのでしょうか?
も(やろうと思えば)可能ですし、所謂"DLL Hell"を極力避けるなら、必要なDLLを全てEXEと同じフォルダ(アプリケーションフォルダ)に配置すればいいだけですね。
これは、DLLの検索順がアプリケーションフォルダ→システムフォルダとなっているためで、これを利用してパッチを当てているソフトも多いのです。
詳しくはLoadLibrary()のヘルプを読んでみてください。
問題はActiveX DLLやOCXなどレジストリに登録する必要があり、かつ下位やバージョン違いのモジュールを配布する必要がある場合ですね。
とにかく、配布メディアのsetup.lstを見て配布される予定のファイルとその種類、レジストリ登録の有無を調査してからになると思います。
ありがとうございます。大変勉強になります。
配布メディアはディストリビューションウィザードで作成します。
ウィザードで設定できるDLL等のセットアップ先は(AppPath)としているのですが…
> 問題はActiveX DLLやOCXなどレジストリに登録する必要があり、かつ下位やバージョン違いのモジュールを配布する必要がある場合ですね。
そこなんです!
> とにかく、配布メディアのsetup.lstを見て配布される予定のファイルとその種類、レジストリ登録の有無を調査してからになると思います。
setup.lstを見てみます。
…と言ってもぱっと見てもよく判らないのですが f(^_^;)
がんばって調べてみます。
そしてレジストリ登録要のファイルがインストールするPCに
「既存してたらインストール不可!」
とでもするしかないのでしょうかねぇ…。ふぅ~
No.1
- 回答日時:
昔からの"DLL Hell"と言われている問題ですね。
> ”○○.DLLがあるからこれはVB4.0のシステムが入ってる!”等と
> 判断できるものなのでしょうか?
これは非常に難しいです。
上位互換という大義のために、違うバージョンの部品が同じファイル名で配布されています。
システムに尋ねてみるにしても、インストーラ経由でシステムディレクトリに入っている分は検出できますが、オンラインソフトなどであちこちに置かれたものは対象外で、そちらがシステムに読み込まれる/読み込まれないのも、その時々のアプリケーションの起動順によって決まったりします。
Vectorなどで配布されるオンラインソフトですと、
「このソフトを使用するには、VB6.0のランタイムが必要です。」
と注意書きを施して、ユーザーに自己責任でランタイムのインストールを行ってもらう方法が主流です。
製品の場合は動作環境にでも書いてしまうとかしか逃げ道が無いかも。
ありがとうございます。
> 注意書きを施して、ユーザーに自己責任でランタイムのインストールを行ってもらう方法が主流です。
本当にその通りなのです。
ですが、諸般の事情により「ユーザーの自己責任」が問えないんですよ(泣)
「開発元責任」が重視されてしまって
何か問題があったら当方へ苦情がきちゃうんですよね~。
うまい逃げ道が見つかればいいんですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
ランタイムのローカル使用
-
ビルドした.exeファイルは.NE...
-
VB.NETでSPREADの設定方法
-
VB6のアプリケーションの配布
-
Excelがインストールされてない...
-
VB6.0で作成したexeファイルが...
-
VB6で作成したアプリを配布する...
-
Product Codeの変更法は?
-
意味不明の実行時エラーで困っ...
-
「読み込み違反」が起きたとき...
-
vba 時間の引き算 例えば 15:00...
-
VB6.0 exe作成時に実行時エラー...
-
印刷ダイアログを表示させない方法
-
アウトルックが起動しているか...
-
VBAでOutlookを終了させたい Ex...
-
マクロで封筒を自動印刷
-
VB2008で0ページの印刷ジョブを...
-
C#VB、exeに埋め込んだexeの実行
-
出力するプリンタを指定したい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
VB6(SP5)+OO4OでCreateObjectが...
-
[VB.net] ExcelへのQRコード出...
-
VB.NETでSPREADの設定方法
-
次のクラスは登録されていませ...
-
発行元:不明???
-
VB6で作成したアプリを配布する...
-
VB6.0で作成したexeファイルが...
-
accessがインストールされてい...
-
Product Codeの変更法は?
-
Excelがインストールされてない...
-
ListViewで文字化けしてしまい...
-
ビルドした.exeファイルは.NE...
-
アドインファイルの移動(再)
-
う~ん…。
-
VB.NET で作られたソフト...
-
.NETの標準ライブラリでExcelフ...
-
インストール不要アプリケーシ...
-
MSDNのセットアップ方法(ヘル...
-
VB6をWindows10にインストール...
おすすめ情報