2011-01-11 150 views
0

如何更改Windows DLL或EXE的語言屬性?如果您右鍵單擊某個DLL並轉到「屬性」>「詳細信息」,我可以看到我正在討論的屬性。來自命令行的東西將是首選。如何在Windows上更改dll/exe的語言屬性

背景...

我試圖建立使用WiX的Windows安裝包時擺脫警告。該警告是:

LGHT1076:ICE60:文件somedll.dll 不是一個字體,它的版本是不是 一個同伴文件引用。它應該有 在 語言欄中指定的語言。

如果添加了WiX的項目文件中的文件DefaultLanguage屬性,這種更改爲:

LGHT1101:將DefaultLanguage「0」是 用於其文件的「somedll.dll」 沒有語言。指定 與實際文件 不同的語言可能會導致意外版本 修復期間的行爲或 修補。請指定 DefaultLanguage的值或將 版本信息資源的語言指定爲 以消除此警告。

我真的不確定他們建議的第一個解決方案是什麼意思......我不是隻是「爲DefaultLanguage指定一個值?」所以我正在嘗試第二種解決方案,我猜這是文件的語言屬性?我從源代碼構建somedll.dll,所以如果在構建時需要完成某些工作,我可能可以做到這一點。

回答

-1

因爲我有權訪問源代碼,所以在這種情況下,我能夠更改版本資源文件以包含語言。具體的庫是Qt,修復可以在QTBUG-16583中看到。

仍不確定如何在沒有訪問源的情況下執行此操作。

+0

帶詳細信息的外部參考不再有效。 – 2013-02-21 21:59:45

1

文件的語言是其versioninfo資源的屬性。 WiX讀取它以自動填充.msi文件表中的語言(和版本)列。

+0

你碰巧知道,在這種自動填充失敗的情況下,如何告訴WiX它應該是什麼?也就是說,如果不能從文件本身自動生成一個值到Language列,但允許用戶提供它? *似乎*是警告所暗示的,但顯然'DefaultLanguage`屬性是不夠的。 – 2011-01-12 01:54:56