tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル参照設定したDllについて
記事No15064
投稿日: 2010/12/16(Thu) 15:15
投稿者りすりす
VB6でFileSystemObjectを使ったアプリケーションを作成しています。

参照設定でMicrosoft Scripting Runtime(C:\WINDOWS\system32\Scrrun.dll)にチェックを入れています。
仮に、アプリケーションと同じフォルダ(実行フォルダ)にもScrrun.dllがあった場合、
アプリケーションを実行すると、どちらのDllを参照するのでしょうか?

Systemフォルダにdllがあるなら、実行フォルダにはそもそもDllは必要ないでしょうか?
もともとそういうつくりで既にリリースされているので、実行フォルダのdllを消していいものか悩んでます。

また、Dllをアプリケーションと一緒に配布予定ですが、
Systemフォルダに入れればいいのか、
現行のように実行フォルダに入れればいいのかよくわかりません。

古いプログラムなので、こういう仕様が正しいのかもわかりません。
すみませんがお知恵をお貸し下さい。

XP、VB6(SP5)です。

[ツリー表示へ]
タイトルRe: 参照設定したDllについて
記事No15065
投稿日: 2010/12/16(Thu) 15:49
投稿者魔界の仮面弁士
> 参照設定でMicrosoft Scripting Runtime(C:\WINDOWS\system32\Scrrun.dll)にチェックを入れています。
現行のOSでは、C:\WINDOWS\system32\Scrrun.dll は Windows File Protection の
保護対象となっています。そのため、ユーザーが差し替えたり削除したりしても、
このファイルは自動復元される事になります。

> 仮に、アプリケーションと同じフォルダ(実行フォルダ)にもScrrun.dllがあった場合、
> アプリケーションを実行すると、どちらのDllを参照するのでしょうか?
.local またはマニフェストリソースで side-by-side 指定されている場合には、
App.Path のファイルが使われます。そうでなければ、システム側のファイルですね。

正確に言えば、レジストリ等に登録されている方のライブラリが利用されるとも言えます。
逆に言えば、登録されていなければ、どこにあったとしても利用できません。

[ツリー表示へ]