inno-setup - 无法访问 ProgramData 文件夹中的数据库
问题描述
我正在开发一个带有 SQLite 数据库的项目。它在我的 Visual Studio 项目中运行良好。当我尝试使用Inno Setup进行部署时,MyApp.exe 无法在ProgramData文件夹中写入(只读)数据库文件。
如果我通过右键单击 > 以管理员身份运行来运行设置,那么 MyApp.exe 就能够写入数据库文件。
所以我添加了管理员权限,PrivilegesRequired=admin
但它仍然不起作用。
我想不通:
- 为什么 MyApp.exe 除了以管理员身份运行安装程序外无法写入文件
ProgramData
? - 为什么这段
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 管理员权限,但仍需要在非管理员帐户中使用此应用程序
解决方案
推荐阅读
- r - 是否可以将 R 数据帧插入到现有的 .dat 文件中,该文件专门格式化为 COLONY 软件的输入?
- c++ - 用于计算数组中对数的优化算法,使得 A[i]*A[j] 不是完美的正方形
- typescript - 为第 3 方 Svelte 模块添加 TypeScript 类型
- powerquery - 将 Pow.Query 语言中 Sumifs 的值带到指定的行和列(位置)
- javascript - 尝试提交 POST 请求,但表单显示为空
- react-native - 我实现了屏幕转换,但出现错误
- c++builder - 从某个 IMAP 邮箱中读取电子邮件正文
- swift - 如何使用 AXObserverAddNotification?
- java - 使用模拟 SFTP 服务器进行 Sprint 集成流测试?
- firefox - 当 Allow-Credentials 设置为 true 时,为什么我不能在 Access-Control-Allow-Headers 上使用通配符 *?