簡體   English   中英

如何為Windows安裝程序創建清單?

[英]How do I create a manifest for a windows installer?

我們有一個應用程序的安裝程序,必須下載並以管理員權限運行,就像許多其他安裝程序一樣。 但是,安裝程序未命名為“setup.exe”,因此Windows不會自動將其檢測為需要提升運行。

坦率地說,更改安裝程序名稱以使事情正常提升聽起來非常混亂。 本文討論了很多關於UAC和提升的內容,它說你可以使用清單來制作需要授權的東西。

所以,我們只是喜歡為我們的安裝程序創建清單。 但是,我們如何確保清單存在? 如果用戶只是下載our_application_v13.exe,我們如何確保他們也獲得清單? AFAIK清單必須是一個名為“our_application_v13.exe.manifest”的文件。

由於他們只是從我們的網站下載文件,我們如何確保他們也獲得了清單呢? 我們可以以某種方式將其構建到可執行文件中,或者將可執行文件標記為需要提升嗎? 我們使用數百年前的安裝工具,我們無法更改,因此它沒有任何與此相關的功能。

謝謝!

如果安裝程序工具允許您更改/附加/編輯生成的EXE文件的資源,則可以將清單文件添加為資源類型為24(Windows標頭中為RT_MANIFEST)且資源ID為1的資源。

如果安裝程序工具沒有內置工具來插入資源,那么您可能必須編寫一個工具來對您的install.exe文件進行后處理以插入資源。 查找Windows API BeginUpdateResouce和EndUpdateResource。 它們有一些限制 - 如果EXE根本不包含任何資源文件,它們往往不起作用,但大多數安裝工具生成的exe文件至少包含版本信息資源。

此外,如果安裝是數字簽名,則必須在插入清單資源后完成。


此外,Platform SDK附帶的mt.exe和大多數Visual Studio版本都有嵌入,提取和合並清單資源的選項。

清單也可以在應用程序的本機資源部分(在EXE內)。

有來自Heaventools Software的Resource Tuner Console

Resource Tuner Console是一個命令行工具,使開發人員能夠自動執行install exe文件的后處理並插入清單資源。 有關更多詳細信息,請參閱添加應用程序清單頁面:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM