我實施了我們產品的安裝程序。 安裝程序需要管理員權限,所以我用設置引導程序與清單文件(推薦here),以獲得在Windows機器與UAC這些權限啓用。安裝和卸載進行得很順利 - 用戶被要求獲得許可,安裝程序會做它需要做的事情。安裝更改不要求UAC權限
你要是跑不過控制面板→程序和功能選擇「更改」 *已安裝的程序,錯誤時(自定義,從安裝LaunchConditions),告訴安裝程序需要管理員權限。而且在這種情況下,我無法找到任何方式要求獲得許可--Windows只是運行MSI文件,並不知道任何有關所需權限的信息。
更爲蹊蹺的是修復功能 - 它要求的許可,但後來沒有做安裝過程中被允許一些行動,利用SetupBootstrapper。
我發現了一個類似的問題here:
但所提出的解決方案是在我們的情況是不可接受的。
的改變功能的唯一解決方法是現在總是使用SetupBootstrapper和不使用程序和功能菜單,但不是很人性化,並強制用戶保持安裝在他/她的硬駕駛。
大家有更好的提醒?
PS:我用維克斯創建安裝程序,所以這將是偉大聽到WiX的解決方案,但我敢肯定,它不依賴於安裝程序創建的語言,但僅限於MSI細節。
安裝需要管理權限。而不是行動,但launchConditions失敗 - 如果通過程序和功能運行,安裝程序不會獲得該權限 – 2011-12-28 15:36:05
好的,那麼在這種情況下失敗的條件是什麼?你爲什麼不能改變它?微軟清楚地認爲,在UAC系統上,特權應該幾乎總是如此。 – 2011-12-28 22:40:25
條件檢查特權屬性。當然,我可以改變它,但這不是解決問題的方法 - 它只會產生另一個問題。問題的根源在於,如果不使用清單文件和引導程序,msi將以非特權運行。並且通過程序和功能>更改/修復菜單來使用它們是不可能的。 – 2011-12-29 11:14:20