可以構建MSI安裝程序,它可以爲非管理員用戶(將文件複製到非管理員用戶的目錄)執行每用戶安裝,但也可以複製文件到Program Files或其他僅限管理員的目錄中?使用NSIS,存在一個UAC插件,它允許一些步驟作爲普通用戶運行,其他步驟以提升的特權運行。 MSI存在這樣的事情,還是有一些方法可以在獲得管理權限的同時保留原始用戶上下文?Windows安裝程序,包括每個用戶和管理部分
回答
不,這是不可能的。安裝要麼在用戶上下文中運行,要麼在系統上下文中運行。
但它並不妨礙您將某些文件複製到用戶的配置文件中。這些文件將繼承在文件夾上設置的默認權限。默認值是對用戶,系統和管理員組的完全訪問權限。
雖然技術上可行,但我不建議使用它。考慮一臺具有多個用戶的計算機:其中一個用戶安裝MSI軟件包,他們將文件安裝在用戶的配置文件中。另一位用戶登錄此計算機並從「開始」菜單啓動您的應用程序:用戶配置文件中沒有文件,而您的應用程序期望它們在那裏。
解決此問題的最佳方法是將要進入用戶配置文件的文件安裝到Program Files。在您的應用程序第一次啓動時,它會將這些文件複製到用戶的配置文件中。因此,多用戶計算機的每個用戶將能夠使用您的應用程序。
如果這些數據要在用戶之間共享,請考慮將它們安裝到ProgramData中,CommonAppDataFolder
property。通過這種方式,這些文件將對所有計算機用戶可見並且可讀。然而,只有安裝應用程序的用戶才具有寫入權限,因此安裝人員應修改ProgramData中的應用程序文件夾的權限,爲其他用戶提供寫入權限。
如果我理解正確,它是一個安裝程序,可以安裝在每個用戶或所有用戶的基礎上。我正在尋找BOTH,即在Program Files等管理員專用的位置安裝文件,並在非管理員用戶自己的目錄(如用戶的應用程序數據目錄)中安裝一些文件。 – alanc10n
- 1. 每個用戶和Windows安裝程序的啓動應用程序
- 2. 不包括使用symfony安裝程序的symfony安裝程序
- 3. Windows安裝程序msi包
- 4. Windows安裝程序包
- 5. Wix爲每個用戶安裝爲管理員
- 6. 部署包運行多個Windows安裝程序
- 7. 如何將64位和32位Windows安裝程序包作爲單個安裝程序部署?
- 8. Windows安裝程序和setup.exe
- 9. Windows安裝程序錯誤。 「這個安裝包無法打開......」
- 10. 多用戶應用程序管理回每個用戶
- 11. Windows安裝程序安裝
- 12. 包括我的WPF應用程序安裝程序SQLCE(3.5)
- 13. 非管理員用戶的MSI安裝程序
- 14. 獲取Windows 10通用應用程序安裝包 - 用於個人安裝
- 15. 使用Windows安裝程序插件的部分功能
- 16. 的.Net Windows安裝程序自定義界面 - 之間DIFF安裝和管理安裝
- 17. 如何在節點js應用程序中安裝和管理Windows服務?
- 18. Windows安裝程序包的問題
- 19. 管理從Windows服務的應用程序配置部分
- 20. 具有管理員權限的Windows安裝程序
- 21. Installshield安裝程序管理要求
- 22. Windows安裝程序
- 23. 使用Visual C++ Redistributable安裝每個用戶的WiX安裝程序
- 24. 用戶刪除並重新安裝應用程序後管理分析_安裝類
- 25. WSO2EMM - 應用程序管理從不返回已安裝/未安裝應用程序的用戶列表
- 26. 如何強制用戶在Inno安裝程序中使用管理員權限安裝應用程序?
- 27. 限制管理部分和用戶管理的訪問
- 28. 管理我的Windows和Web應用程序的邏輯用戶
- 29. rpm子包%安裝部分
- 30. rpm包的安裝部分
同意答案:使用安裝程序複製每臺計算機上的文件,然後讓應用程序在首次啓動時將其複製到用戶配置文件。然後在HKCU中設置一個標誌,表明已經爲該用戶完成了複製操作。 但是,說安裝程序在用戶上下文或提升的系統上下文中運行會有點不準確 - 它實際上在兩種情況下運行,但在安裝順序的不同時間運行。簡而言之,GUI運行在用戶上下文中,而文件副本以提升的權限運行。如果需要,我可以添加更長的解釋作爲單獨的答案。這裏空間不足 –
@Glytzhkof我的意思是安裝過程(複製文件,編寫註冊表項)在當前用戶上下文中,在每個用戶的安裝中,或者在升級的系統上下文中,在每個機器的安裝中運行。 GUI嚮導始終在當前用戶上下文中運行。 –
您的建議存在的問題以及我嘗試按照我所描述的原因執行的原因是,所涉及的文件必須放在用戶的應用程序數據目錄中(這是一個MS Word全局模板,Word在用戶的STARTUP目錄中查找這些)。 – alanc10n