【问题标题】:How to create sql Database in installshield express?如何在 installshield express 中创建 sql 数据库?
【发布时间】:2015-09-01 17:42:54
【问题描述】:
我最近开发了一个带有 c# 和 SQL Server 2008 数据访问的 winform 应用程序。我想为其创建一个“InstallShield express”安装文件(我不想使用 ClickOnce 或 VS 中提供了 Setup And Deployment 女巫)。我想在安装 SQL Server Express 2008 SP3(不是本地数据库)后创建一个数据库或将其附加到 SQL 服务器实例。最好的方法是什么?
【问题讨论】:
标签:
winforms
installshield
【解决方案1】:
您的问题很模糊,因为您没有解释您使用的是哪种“应用程序”、“设置文件”或“db”,也没有解释您如何“将其附加到 sql”。将来,请包括这些详细信息。不过,我可以给出一个笼统的答案。
- 在源项目中创建一个种子数据库,其中包含应用程序的起始数据。
- 将种子数据库文件添加到您的项目/解决方案文件中,并将其构建操作设置为“内容”。
- 确保您的安装程序在部署文件夹(WinForms 应用程序的应用程序文件夹)中包含项目内容。
- 要从您的应用程序打开种子数据库,请使用
Data Source=|DataDirectory|seed.sdf 之类的连接字符串。不要尝试搜索您的种子文件或自己设置DataDirectory;安装程序会将DataDirectory 设置为您的内容安装到的目录。
- 不要尝试写信给
DataDirectory;安装它的用户可能无法写入它。修复应用程序将覆盖 DataDirectory,同时销毁您保存在那里的所有内容。
- 如果需要在数据库中保存数据,请将
|DataDirectory|seed.sdf复制到Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),然后将所有数据读写到副本中。
如需更多信息,请阅读我对发帖者的回复,他写信给|DataDirectory|,因此不断破坏他的用户数据。