[VS2015] 編譯時出現 Inf2Cat:DriverVer set to a date in the future 錯誤?

[VS2015] 編譯時出現 Inf2Cat:DriverVer set to a date in the future 錯誤?

剛裝好 VS2015 + Windows SDK 10 + WDK 10

也編譯過測試用的 Kernel mode driver (KMDF) 專案,

沒想到裝好的 VM 擺了不到半天,編譯就出問題了:

20160710_014647

 

錯誤訊息是 Inf2Cat 說 DriverVer set to a date in the future:

Inf2Cat Tool Output:
........................
Signability test failed.
Errors:
22.9.7: DriverVer set to a date in the future (postdated DriverVer not allowed) in kmdfdriver1.inf.

 

不過如果去看 kmdfdriver1.inf 的話,會發現 DriverVer 並沒有設置任何值:

[Version]
Signature="$WINDOWS NT$"
Class=Sample ; TODO: edit Class
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
Provider=%ManufacturerName%
CatalogFile=KMDFDriver1.cat
DriverVer= ; TODO: set DriverVer in stampinf property pages

 

上網查了一下,根據 Stampinf 的說明,

Stampinf 會用本地時間 (local time) 來押 timestamp,

但 Inf2Cat 會用 UTC time 來解釋那個 timestamp,因而導致錯誤… (聽起來像是沒設計好)…

 

微軟網頁上有一些解法,像是:

1. 設定 STAMPINF_DATE 環境變數,並在執行 Stampinf 時不要使用 -d 參數,這樣它就會去讀 STAMPINF_DATE 裡設定的日期。

2. 在開發過程中,設定 PRIVATE_DRIVER_PACKAGE=1 環境變數,這樣它會自動使用目前的日期。

 

stackoverflow: Int2Cat – DriverVer set to incorrect date

建議的解法是直接將 Inf2Cat 改成使用 local time 來解釋 timestamp,

只要將專案的 Inf2Cat > Use Local Time 設定成 Yes 就行了:

20160710_014910  

 

設定好後,這個編譯錯誤就消失囉~^^

 

(本頁面已被瀏覽過 933 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料