Windows7でbplのバージョン情報を見る

解決


のりぺぃ  2011-01-03 18:32:43  No: 39788

Delphiそのものの質問からは外れてしまうかもしれませんが…

これまでDelphiで.bplを作成し、バイナリのバージョンを
[プロジェクト|オプション]のバージョン情報→「ファイルバージョン」で
管理していたのですが、Windows7になってからこのファイルバージョンを
Exploreや「ファイルのプロパティ」で見れなくなくなってしまいました。
XPで同じファイルを見ると、ちゃんと表示されます。

.dllファイルでは表示されているので、何らかの方法で可能だとは
思うのですが、拡張子の関連付けを解除したりしてもうまくいきません。
どなたかこのあたりの情報をご存知ないでしょうか?


けど@あけおめです  2011-01-05 08:41:08  No: 39789

OSの仕様でしょう
GetFileVersionInfoなどを使って自分でツールを作った方が早いと思います


n  2011-01-05 09:27:43  No: 39790

.bpl は拡張子が違うだけの .dll なので、
拡張子を変更すればエクスプローラで表示できるはずです。


助監督(仮名)  2011-01-06 05:53:28  No: 39791

私も.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


のりぺぃ  2011-01-06 20:59:23  No: 39792

今まで出来ていたことが出来なくなるのは不便ですねえ…

助監督(仮名)さんのVBSはWindows7でも動きましたので
これを使わせていただくことにしました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加