2009-09-18 55 views
3

我有一些我沒有代碼的EXE。我還可以添加清單文件嗎?我可以將清單文件添加到別人的exe文件嗎?

另外,根據我的題目的理解,一個程序是Vista的兼容,它不應該寫像HKLM,程序文件等

對於註冊表,我們可以使用任何HKCU安全的位置,但有關在Program Files中創建的文件?是否應該在執行EXE時在不安全的位置創建?

謝謝

+0

你不需要告訴人們你在帖子中修復了什麼。 – GManNickG 2009-09-18 01:27:50

+0

我試圖表明他應該說得更準確。 – SLaks 2009-09-18 01:28:30

回答

0

你應該能夠創建一個沒有源代碼的清單文件。

它可以要求安裝或更新的管理權限,因此您可以將EXE和DLL(以及支持文件)放入程序文件中。

要求管理權限用於常規使用是不行的,因此您應該將數據文件和設置放入HKCU註冊表中或用戶的Application Data文件夾中。

+0

有沒有任何Windows API直接獲取應用程序數據文件夾路徑? – coolcake 2009-09-18 03:04:58

+1

對不起,忘了謝謝。所以謝謝!!! – coolcake 2009-09-18 03:05:37

+0

您的應用程序數據文件夾應該由您自己在%appData% – MSalters 2009-09-18 10:31:16

5

您可以使用外部文件添加清單。只需將清單放在exe文件夾中,並將其命名爲「file.exe.manifset」,其中file.exe是可執行文件名。但是,在Server 2003,Vista和更高版本(如果程序具有嵌入式清單)中,缺省情況下,外部清單將被忽略。有一個註冊表項將覆蓋此行爲,或者您可以使用Windows SDK工具中的mt.exe替換exe中的清單。有關更多詳細信息,請參閱this link

對於試圖寫入Program Files或HKLM的現有應用程序,它們應該在Vista上工作,因爲Vista會將寫入重定向到另一個位置,並使應用程序看起來寫入成功。

相關問題