簡體   English   中英

Windows安裝程序使用NT AUTHORITY \\ SYSTEM而不是登錄用戶

[英]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.

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