类人猿同胞、睡莲和桨轮!
我正在使用 VS 2008 在 C#/.NET/WPF 中开发一个 Windows 桌面应用程序。该应用程序需要在 Vista 和 XP 机器上安装和运行。我正在使用安装程序/Windows 安装程序项目来安装该应用程序。
我的应用程序需要对 SQLCE 数据库文件 (.sdf) 和与我正在使用的第三方控件相关的一些其他数据库类型文件的读/修改/写访问权限。这些文件应在 PC 上的所有用户/登录名之间共享,其中任何一个都不需要成为管理员。当然,这意味着文件不能放在程序自己的安装目录中(就像在 Vista 到来之前经常发生的那样,是的,是的!)。
我原以为解决方案很简单。Vista 和 XP 都有用于此目的的共享应用程序数据文件夹。(Vista 中的“\ProgramData”,XP 中的“\Documents and Settings\All Users\Application Data”。) .NET Environment.GetFolderPath(SpecialFolder.CommonApplicationData) 调用可用于在给定 PC 上查找这些文件夹的路径,是的, 是的!
但我不知道如何将 shared-application-data 文件夹指定为安装项目中的目标。
Setup 项目提供了一个“Common Files”文件夹,但该文件夹用于共享程序组件(不是数据文件),通常位于“\Program Files”下,并且具有与“\Program files”中其他任何内容相同的安全限制,是的是的!
安装项目提供了一个“用户的应用程序数据”文件夹,但这是一个每个用户的文件夹,这正是我想要避免的,是的,是的!
是否可以从 VS 2008 安装项目以强大的跨 Windows 版本的方式将文件添加到 shared-app-data 文件夹?谁能告诉我怎么做?