Jay*_*Jay 3 .net c# windows-installer visual-studio-setup-proje visual-studio-2017
我有一个 Windows 安装程序,它在安装过程中创建数据库。安装应用程序CREATE DATABASE过程失败,因为 Windows 安装程序使用了错误的用户。它使用NT AUTHORITY\SYSTEM而不是使用登录用户。NT AUTHORITY\SYSTEM用户没有创建数据库的权限。
有没有办法强制安装程序使用登录用户?
将 Windows 10 环境与 VS 2017 和 MS Visual Studio 2017 安装程序项目结合使用。
简而言之,您无法在作为 InstallAllUsers 设置的 Visual Studio 设置中执行此操作,因为所有 VS 安装程序生成的自定义操作都作为系统帐户运行。因此,您需要使用 Orca 等编辑工具更改 MSI 文件中的自定义操作设置。您可以在 MSI 文件的 CustomAction 表中找到自定义操作,查看类型值(可能是类型 3074),然后关闭 msidbCustomActionTypeNoImpersonate 位,以便它以安装用户的身份运行。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368069(v=vs.85).aspx
请注意,以安装用户身份运行模拟有其自身的一系列问题,因为它与以交互式用户身份运行不同。用户配置文件未加载,因此与用户关联的对象(例如 HKCU、用户配置文件文件夹)非常不可靠。
许多人在第一次启动应用程序时使用单独的程序填充数据库,以便它作为交互式用户正常运行,并且可以作为独立程序进行开发和调试。如果在安装过程中填充失败,您要么放弃安装并回滚,要么继续安装并最终得到一个空数据库,为此您可能需要一个程序来填充它。
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |