Inno setup Inno设置-允许修改数据库

Inno setup Inno设置-允许修改数据库,inno-setup,Inno Setup,我的应用程序包括一个db,用户可以通过GUI向db添加数据。因此,我需要授权用户修改db。我尝试了所有选项,但仍然不允许授权。 这里,这是我尝试实现的一个示例(在“允许”列中选中修改权限): 以下是我当前的代码: #define MyAppName "aaa" #define MyAppVersion "1.0" #define MyAppExeName "aaa.exe" [Setup] AppId={{...-...-...-...-...} AppName={#MyAppName} A

我的应用程序包括一个
db
,用户可以通过GUI向
db
添加数据。因此,我需要授权用户修改
db
。我尝试了所有选项,但仍然不允许授权。 这里,这是我尝试实现的一个示例(在“允许”列中选中修改权限):

以下是我当前的代码:

#define MyAppName "aaa"
#define MyAppVersion "1.0"
#define MyAppExeName "aaa.exe"

[Setup]
AppId={{...-...-...-...-...}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputDir=C:\...\output
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Dirs]
Name: "{app}\Logs"; Permissions: everyone-modify

[Files]
Source: "C:\...\aaa.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\...\list_files\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-modify
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

如何通过设置的创建过程向用户授予数据库访问权限?谢谢你

首先你不应该将数据存储到安装文件夹中。我听从了你的建议,但仍然不允许许可。我在你的脚本中看到了
{app}\Logs
。我是
inno setup
的新手,我应该从我的代码中删除
[Dirs]
部分吗?@Martin Prikryl,基于你的上述评论,我设法解决了我的问题。感谢不要授予所有用户对程序文件文件夹的写入权限!这是一种破解,不是解决方案。另请参阅。感谢您的评论。正如我所说,我是一个新手,也许我的以下问题可以是基本的:我知道我必须将我的
db
放在
AppData\Local
文件夹中,但如果要使用应用程序,我的
exe
必须放在
Program Files
文件夹中,或者可以与
db
一起放在
AppData\Local
文件夹中机器的所有用户都应将其保存在
程序文件中。如果只供安装它的用户使用,它可以位于
AppData\Local
中。根据Martin Prikryl的评论,我将
DestDir
切换为
{localappdata}
,而不是
{app}
[Files]
Source: "C:\...\aaa.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\...\folder_files\*"; DestDir: "{localappdata}\name_application\folder_files\"; Flags: ignoreversion recursesubdirs createallsubdirs