0

我刚刚完成了一个使用相当大的数据库文件的大型程序。过去,我写完程序,只是把.exe文件上传到我的网站,然后把链接发给想用的人,但现在还有一个数据库文件要包含..

有没有办法在.exe中“包装”数据库文件?如果没有,我怎样才能发布我的程序,以便用户只需要下载一个文件?我从来没有创建过安装程序,我也不知道怎么做。我只是上传过 .exe 文件 :)。

任何帮助,将不胜感激。请原谅我的经验不足:P。

该程序使用 C# 编写,数据库文件为 .mdf 格式(我运行的是 SQL Server 2008)。我很乐意提供更多细节。:)

4

3 回答 3

1

您可以从 Visual Studio 进行简单的设置(创建新的设置项目)。如果您需要更多高级功能,请查看Windows Xml 安装程序

于 2012-05-26T19:21:44.950 回答
1

您应该让应用程序知道如何创建数据库,而不是捆绑整个数据库。一种简单的方法是在 SQL Server Management Studio 中为整个数据库创建一个脚本。然后将脚本(可能在您对其进行一些调整之后)作为资源文件包含在 exe 文件中。

比推出自己的解决方案更好的方法是使用数据访问框架,例如 EF Code First with Migrations,它内置了数据库创建和升级支持。

于 2012-05-26T19:22:37.073 回答
0

您可以包含免费的Sql Server Express,这样您的用户就不必购买 SQL Server 的许可证。如果您想完成构建 .msi 安装程序的工作,我相信您可以执行特定于 SQL 服务器的操作。

另一方面,如果你的数据量很少,你可以考虑使用Dataset的过滤功能,而不是依赖SQL Server。

编辑:微软有一个新的SqlServer 2012 LocalDB可能很有趣:

作为 SQL Server® Express 系列的新成员,LocalDB 是 Express 的轻量级版本,具有相同的可编程性功能,但在用户模式下运行,并具有快速、零配置的安装和简短的先决条件列表。如果您需要一种简单的方法来从代码创建和使用数据库,请使用此选项。它可以与 Visual Studio、其他数据库开发工具捆绑或嵌入到需要本地数据库的应用程序中。

(摘自这里

于 2012-05-26T19:22:00.030 回答