Visual Studio安装程序项目将我的数据库设置为在使用提升的权限安装时要求管理员权限

时间:2012-04-15 23:38:15

标签: database sqlite permissions installer

我在Visual Studio 2010中生成一个安装项目,用于与Microsoft Excel一起使用的C#addin。我的插件使用SQLite数据库,此数据库需要具有使用插件的用户的写权限。

问题是我还需要写入HKLM和Program Files目录中的注册表。为此,安装程序必须使用提升的权限运行,这不是问题,但是当我这样做时,数据库设置为需要管理员权限才能写入,这是一个问题,尽管在CommonAppData文件夹中没有播放需要管理员权限。

是否可以将数据库设置为不需要安装项目中的管理员权限?我随时可以使用:Visual Studio安装项目,Installshield 2008和Installshield 2012。

我发现了一个几乎完全相同的问题:Visual Studio installer project - setting file permission

然而,msdn链接已经死亡,另一个链接仅建议将文件放在不需要提升权限的位置。

(注意:为了测试的目的,我只是删除了需要放入程序文件的文件部分,并写入HKCU以便我可以暂时解决这个问题;但是这不是适合部署,因为这将被添加到需要解决这些问题的更大的项目中。)

1 个答案:

答案 0 :(得分:0)

CommonAppData文件夹是每台计算机的位置,因此需要管理员权限。任何可由多个用户帐户访问的文件夹都需要提升才能写入。

AppDataFolder不需要管理员权限,但其内容仅适用于当前用户帐户。

您可以尝试在CommonAppData中设置自定义文件夹的权限。也许这篇文章会有所帮助:http://setupanddeployment.com/installation-environment/set-permissions-installation-folder/