Delphiそのものの質問からは外れてしまうかもしれませんが…
これまでDelphiで.bplを作成し、バイナリのバージョンを
[プロジェクト|オプション]のバージョン情報→「ファイルバージョン」で
管理していたのですが、Windows7になってからこのファイルバージョンを
Exploreや「ファイルのプロパティ」で見れなくなくなってしまいました。
XPで同じファイルを見ると、ちゃんと表示されます。
.dllファイルでは表示されているので、何らかの方法で可能だとは
思うのですが、拡張子の関連付けを解除したりしてもうまくいきません。
どなたかこのあたりの情報をご存知ないでしょうか?
OSの仕様でしょう
GetFileVersionInfoなどを使って自分でツールを作った方が早いと思います
.bpl は拡張子が違うだけの .dll なので、
拡張子を変更すればエクスプローラで表示できるはずです。
私も.bplではありませんが、似たような目的でファイルのバージョンをチェックするため
VBScriptのプログラムを使ってます。拡張子と関係無く読み取れます。
※これで取得できるのは、バージョン情報リソースのうちVS_FIXEDFILEINFOのFILEVERSIONです。
Windows7で動作するかテストしてませんが、使ってみてください。
直接起動のほか、ドラッグ&ドロップまたはSendTo(送る)に登録して使います。
'VerCheck.vbs
DefaultFile="C:\WINDOWS\SYSTEM\MyLib.bpl"
Str=""
Set objArgs=WScript.Arguments
Set objFSO=CreateObject("Scripting.FileSystemObject")
If objArgs.Count=0 Then
PathFile=InputBox("調べたいファイルをフルパスで入力","ファイルバージョンチェック",DefaultFile)
If PathFile<>"" Then
TryVerChk(PathFile)
WScript.Echo Str
End If
Else
For Each Arg In objArgs
TryVerChk(Arg)
Next
WScript.Echo Str
End If
Set objFSO=nothing
Set objArgs=nothing
WScript.Quit
Function TryVerChk(File)
If objFSO.FileExists(File)=True Then
Ver=objFSO.GetFileVersion(File)
If Ver<>"" Then
Str=Str & File & " のバージョンは、" & Ver & " です。"
Else
Str=Str & File & " のバージョン取得が出来ません。"
End If
Else
Str=Str & File & " というファイルは見当たりません。"
End If
Str=Str & VbCrLf & VbCrLf
End Function
今まで出来ていたことが出来なくなるのは不便ですねえ…
助監督(仮名)さんのVBSはWindows7でも動きましたので
これを使わせていただくことにしました。
ありがとうございました。
ツイート | ![]() |