none
32位程序在Vista64执行FileVersionInfo.GetVersionInfo(String fileName)检测文件版本出错 RRS feed

  • 问题

  • 写了一个WinForms程序用来检测驱动文件版本,并且支持命令行静默运行。

    在命令行方式检测drivers文件夹内Intel显卡驱动文件igdkmd64.sys文件版本时下面代码抛出BadImageFormatException异常:

     

    FileVersionInfo fileVersiontocheck = FileVersionInfo.GetVersionInfo(fileName); 

    Message: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

    Type: System.BadImageFormatException

        at Microsoft.Win32.UnsafeNativeMethods.GetFileVersionInfoSize(string lpstrFilename, Int32& handle)

    at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)

    ....

    而在UI模式时程序却运行正常(这排除了文件不符合格式的可能)。GOOGLE之许久但没有什么有用的建议,希望高手不吝赐教~

    2010年5月13日 3:41