【问题标题】:How to deploy database files with Visual Studio Setup Project?如何使用 Visual Studio 安装项目部署数据库文件?
【发布时间】:2011-06-10 10:45:02
【问题描述】:
  • 我必须找到合适的位置来部署我的 SDF(数据库)文件。
  • 该文件必须对所有用户都相同
  • Windows 应用程序无法写入 ProgramFiles 文件夹。
  • 一个用户无法访问其他用户的 AppData 文件夹
  • 一个不错的选择是%ProgramData%
  • 在 Visual Studio 设置项目文件系统视图中,当我右键单击输出文件夹时,我没有 %ProgramData% 选项

如何写入该文件夹?

【问题讨论】:

标签: visual-studio-2010 installation windows-installer setup-project visual-studio-setup-proje


【解决方案1】:

看看这个:

Specifying c:\ProgramData folder in Setup project?

Winforms Deployment

string path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

CommonApplicationData 在 Windows > Vista 上是 C:\ProgramData,在 XP 上类似于 C:\Documents and Settings\All Users

【讨论】:

  • 我想%ProgramData% 文件夹应该是Environment.SpecialFolder.CommonApplicationData
【解决方案2】:

其实这个问题是重复的。这是告诉 VDPROJ 部署到该位置的真正方法:

Writing to AppData from a Setup & Deployment Project

但这会留下另一个问题:标准用户将没有权限写入该目录。您要么必须编写自定义操作来打开它,要么必须使用更好的 MSI 创作工具,例如 Windows Installer XML(开源)或 InstallShield 2010LE(免费),它们对定义资源权限有适当的支持。

【讨论】:

  • 普通用户也无权安装新程序。所以我认为这不是问题,因为安装程序可能会以管理员权限运行。
  • 我的意思是管理员会安装您的应用程序,但是当标准用户(或启用 UAC 的管理员)运行尝试写入数据库的代码时,它会抛出异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多