首页 > 解决方案 > 无法访问 ProgramData 文件夹中的数据库

问题描述

我正在开发一个带有 SQLite 数据库的项目。它在我的 Visual Studio 项目中运行良好。当我尝试使用Inno Setup进行部署时,MyApp.exe 无法在ProgramData文件夹中写入(只读)数据库文件。

如果我通过右键单击 > 以管理员身份运行来运行设置,那么 MyApp.exe 就能够写入数据库文件。

所以我添加了管理员权限,PrivilegesRequired=admin但它仍然不起作用。

我想不通:

  1. 为什么 MyApp.exe 除了以管理员身份运行安装程序外无法写入文件ProgramData
  2. 为什么这段PrivilegesRequired=admin代码不起作用?

我的操作系统是 Windows 10,我以管理员身份登录。我的 Inno Setup 编译器版本是 5.6.1。

[Setup]
PrivilegesRequired=admin 

[Files]
Source: "{#SourceFolder}MyApp.exe"; DestDir: "{app}"
Source: "{#SourceFolder}Database.db"; DestDir: "{commonappdata}\MyApp"; Flags: ignoreversion 

我可以在 C# 代码中授予 MyApp.exe 管理员权限,但仍需要在非管理员帐户中使用此应用程序

标签: inno-setup

解决方案


推荐阅读