設想一種情況:
- 客戶給的執行檔要包在我們的安裝包裡並且在開機時自動執行
- 該執行檔在 build 時被設定為需要管理者權限來執行, 結果開機自動執行時都會跳出需要確認權限的對話框
- 但其實該執行檔做的事根本沒有必要用到這麼高的權限
- 然而我們又沒有 source code, 客戶又不重新 build
mt.exe -inputresource:XXX.exe;#1 -out:.\XXX.manifest將匯出的 manifest 中的 "requireAdministrator" 改為 "asInvoker" 後存檔, 接著將之放回該執行檔:
mt.exe -manifest .\XXX.manifest -outputresource:XXX.exe;#1
更多資訊:
- How to: Embed a Manifest Inside a C/C++ Application
- Create and Embed an Application Manifest with Your Application
沒有留言:
張貼留言