我想在安裝完成後執行兩個文件,但我不希望它們顯示UAC對話框。我試圖使用最大的執行級別,但它不工作。在高級安裝程序安裝結束時執行多個exe文件
回答
我假設的可執行文件「安裝執行」序列外推出。我猜你試圖在用戶點擊安裝完成對話框上的「完成」按鈕時啓動這些可執行文件。
使用UAC時,應用程序和任務始終在非管理員帳戶的安全上下文中運行,除非管理員明確授權管理員級別訪問系統。即使您以管理員身份登錄,您運行的任何應用程序也不會以完全管理權限運行。每個需要管理員訪問令牌的應用程序必須提示管理員同意。當管理員登錄時,會爲該用戶創建兩個單獨的訪問令牌:標準用戶訪問令牌和管理員訪問令牌。標準用戶訪問令牌包含與管理員訪問令牌相同的用戶特定信息,但管理Windows權限和SID將被刪除。標準用戶訪問令牌用於啓動應用程序。標準用戶訪問令牌隨後用於顯示桌面(Explorer.exe)。 Explorer.exe是所有其他用戶啓動的進程繼承其訪問令牌的父進程。因此,所有應用程序都以標準用戶身份運行,除非用戶提供同意或憑據來批准應用程序以使用完整管理訪問令牌。
在你的情況,我假設從非提升的命令提示符安裝msi包。因此,msi軟件包正在以標準用戶權限運行。因此,在InstallExecute序列之外的此msi軟件包中產生的任何子進程將以標準用戶權限運行。
要使應用程序符合UAC,應用程序需要在應用程序清單中指定「請求的執行級別」。請求的執行級別指定應用程序所需的權限。
在您的可執行文件的應用程序清單中請求的執行級別是什麼? 您可以使用Sysinternals套件中名爲「sigcheck.exe」的工具來驗證您的exectuable的嵌入式清單中指定的請求執行級別。
驗證請求的執行級別。 我在考慮將它設置爲「requireAdministrator」,因爲它會被提示提升。將此更改爲「asInvoker」,然後解決您的問題。
您可以在以下位置瞭解更多有關UAC:
https://technet.microsoft.com/en-us/library/jj574202.aspx
問候,
基蘭赫格德
當你聲明你已經使用「最大執行級別」時,你是什麼意思? 您是否在可執行文件的清單中使用「highestAvailable」的級別值?
看看MSDN文章供參考:
https://msdn.microsoft.com/en-us/library/bb384691.aspx
如果推出可執行文件不需要任何特殊的權限進行操作,你應該堅持使用「asInvoker」的水平。這將阻止可執行文件顯示UAC對話框。
問候, 基蘭赫格德
我的意思是我運行MSI爲管理員。 –
- 1. 在一個安裝程序中執行多個安裝程序/ exe文件?
- 2. 高級安裝程序:安裝的.exe不會從安裝目錄啓動
- 3. 如何使用wix安裝程序運行多個安裝的exe文件?
- 4. 使用高級安裝程序和C#創建安裝文件#
- 5. 安裝後自動執行.exe文件
- 6. 在Inno安裝程序安裝中籤署所有exe文件
- 7. wix安裝程序 - 支持同時升級和多個安裝
- 8. 高級安裝程序:先決條件安裝條件檢查
- 9. 高級安裝程序:停止安裝程序在升級時清除臨時文件
- 10. 如何使用高級安裝程序進行安裝後解壓縮文件
- 11. 從.exe文件創建安裝程序
- 12. NSIS - 重建安裝程序exe文件
- 13. 如何使用安裝程序在簡單的.exe文件中安裝多個安裝?
- 14. EXE安裝安裝
- 15. 如何在高級安裝程序中安裝VC可再發行組件?
- 16. 在高級安裝程序中安裝Side-Loaded UWP
- 17. 在exe中附加安裝文件並在執行時解壓
- 18. 在本地安裝.net安裝程序可執行文件時出錯
- 19. 在一個安裝程序中運行多個設置exe
- 20. 執行多次安裝的安裝程序
- 21. 使用一個安裝程序安裝多個軟件(安裝包裝?)
- 22. 如何在高級安裝程序中創建多安裝項目
- 23. Windows安裝程序安裝舊文件
- 24. 安裝Sys文件的安裝程序
- 25. windows安裝程序:安裝後運行exe
- 26. Office應用程序:通過.exe安裝文件安裝應用程序
- 27. 高級安裝程序啓動操作
- 28. 無法執行時安裝程序
- 29. 如何在安裝項目結束時運行可執行文件?
- 30. Wix - 在安裝結束時運行一個exe(帶參數),當前MSI沒有安裝它
你的問題解決了嗎?你需要更多的幫助來解決你的問題 –