0

我正在 Visual Studio 2010 中为要与 Microsoft Excel 一起使用的 C# 插件生成安装项目。我的插件使用 SQLite 数据库,并且该数据库需要对使用插件的用户具有写入权限。

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

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

我发现了一个与我在这里发布的几乎相同的问题:Visual Studio 安装程序项目 - 设置文件权限

但是,msdn 链接已失效,另一个链接仅建议将文件放在不需要提升权限的位置。

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

4

1 回答 1

0

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

AppDataFolder 是一个不需要管理员权限的文件夹,但它的内容仅适用于当前用户帐户。

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

于 2012-04-16T06:58:38.143 回答