始めまして。
只今、Delphiのランタイム・ライブラリの有無チェッカをVCで作ろうとしています。
僕はDelphiには詳しくないためランタイムの種類が分かりません。
dllのファイル名や場所(システムフォルダで良いのか?)などを
教えて下さい。
また、バージョンの取得方法も一緒に教えて欲しいです。
こちらでも色々と調べてみたらたくさん種類があるようなので
どのくらいあるのかも知りたいです。
開発環境:Windows XP Home SP3
動作環境:Windows一般で動けるようにしたいです
この質問は他にも質問しています。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200902/09020016.txt
https://www.petitmonte.com/bbs/answers?question_id=6107
http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200902/09020017.txt
いろいろと知っているマルチな方が居りましたら
別の質問もお願いします。
コンパイルのしかたにより変わります。
実行形式なら不要です。
DLL形式にすると、作るだけDLLが出来ます。
HOtaさんレスありがとうございます。
>コンパイルのしかたにより変わります。
説明書に必要な dll が書かれていた場合のために
簡単にチェックできるツールを作りたいと思っています。
説明書に不要と書かれていればツールは必要ないですが…。
>DLL形式にすると、作るだけDLLが出来ます。
そんなに多いのですか。
DelphiはDelphiで作られたアプリケーションが動作するのに必須でかつ
はじめからWindowsにインストールされていない特殊ライブラリは存在しません。私にとってはそれがDelphiの魅力だと思ってます。
それに私が同じ様なツールを作るんだったら
VC++,VBと区別するのではなくexe本体からどの様なdllにリンクされているかを解析して行ったほうがいいかともいます。
VC,Delphiだとプログラムの組み方次第でいかようにもなりますからね。
ベクターに公開されてるソフトを根こそぎ調べれば、ほとんどすべてを網羅できそうな気がします。
monaaさんへ。
> DelphiはDelphiで作られたアプリケーションが動作するのに必須でかつ
> はじめからWindowsにインストールされていない特殊ライブラリは存在しません。
> 私にとってはそれがDelphiの魅力だと思ってます。
貴重な情報をありがとうございます。
VBとは違うのですね。
> VC++,VBと区別するのではなくexe本体からどの様なdllにリンクされているかを解析して行ったほうがいいかともいます。
これってどうやって解析すれば良いのでしょうか?
VCカテゴリで『Dependcy Walker』が既に存在しているようですが
どうやって解析しているのか分かりますか?
まずはexeフォーマット仕様を一読してください
その中にインポートセクション(.idata)というのがあります
ググれば結構見つかるはずです
http://codezine.jp/article/detail/413?p=2
目指しているDLLはその中にあります。
これってAPIで取得可能なんですかね?
そこまでは調べてませんがもしわかったら教えてください。
monaaさん。
レスありがとうございます。
> まずはexeフォーマット仕様を一読してください
やはり exe 内の PE ヘッダを解析するんですか。
> http://codezine.jp/article/detail/413
ここは一昨年くまなく読んだことがあります。
でも難しすぎました。
> これってAPIで取得可能なんですかね?
一部はAPIで取れるようです。
使い方が難しいですけど。
次のソフトを参考に自分なりのチェッカを作ってみます。
http://www.forest.impress.co.jp/article/2006/09/22/runtimedetector.html
http://support.microsoft.com/kb/125476/ja
ありがとうございました。
ツイート | ![]() |