[英]Windows installer using the NT AUTHORITY\SYSTEM instead of login user
我有一個Windows安裝程序,它正在創建一個數據庫作為安裝過程的一部分。 安裝應用程序CREATE DATABASE
過程失敗,因為Windows安裝程序使用了錯誤的用戶。 它使用NT AUTHORITY\\SYSTEM
而不是使用登錄用戶。 NT AUTHORITY\\SYSTEM
用戶無權創建數據庫。
有沒有辦法強制安裝程序使用登錄用戶?
在VS 2017和MS Visual Studio 2017安裝程序項目中使用Windows 10環境。
簡短的回答是,您無法在安裝了InstallAllUsers的Visual Studio安裝程序中執行此操作,因為所有VS安裝程序生成的自定義操作都作為系統帳戶運行。 因此,您需要使用Orca等編輯工具更改MSI文件中的自定義操作設置。 您可以在MSI文件的CustomAction表中找到自定義操作,查看Type值(它可能是類型3074),然后關閉msidbCustomActionTypeNoImpersonate位,以便它作為安裝用戶模擬運行。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368069(v=vs.85).aspx
請注意,作為安裝用戶運行模擬有自己的一組問題,因為它與運行交互式用戶不同。 未加載用戶配置文件,因此與用戶關聯的對象(例如HKCU,用戶配置文件文件夾)非常不可靠。
許多人在第一次啟動應用程序時使用單獨的程序填充數據庫,以便它作為交互式用戶正常運行,並且可以作為獨立程序進行開發和調試。 如果在安裝過程中填充失敗,您要么放棄安裝並回滾,要么繼續安裝並最終得到一個空數據庫,為此您可能需要一個程序來填充它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.