我刚刚编写了一个使用相当大的数据库文件的大型程序。在过去,当我完成程序编写时,我只是将.exe文件上传到我的网站并将链接发送给想要使用它的人,但现在还有一个数据库文件要包含..
有没有办法在.exe中“包装”数据库文件?如果没有,我如何发布我的程序,以便用户只需下载一个文件?我从来没有创建过安装程序,也不知道如何...我只是上传了.exe文件:)。
任何帮助将不胜感激。请原谅我的经验:P。
程序是用C#编程的,数据库文件是.mdf格式(我正在运行SQL Server 2008)。我很乐意提供更多细节。 :)
答案 0 :(得分:1)
您可以从visual studio进行简单设置(创建新的安装项目)。如果您需要更多高级功能,请查看Windows Xml installer
答案 1 :(得分:1)
您应该知道如何创建数据库,而不是捆绑整个数据库。一种简单的方法是在SQL Server Management Studio中为整个数据库创建一个脚本。然后在exe文件中包含脚本(可能在您对其进行一些调整之后)作为资源文件。
比滚动自己的解决方案更好的方法是使用数据访问框架,例如EF Code First with Migrations,它具有内置的数据库创建和升级支持。
答案 2 :(得分:0)
您可以添加免费Sql Server Express,这样您的用户就无需购买SQL Server许可证。如果您想完成构建.msi安装程序的工作,我相信您可以执行特定于SQL服务器的操作。
另一方面,如果您拥有少量数据,则可以考虑使用Dataset的过滤功能,而不是依赖SQL服务器。
修改:Microsoft有一个可能很有趣的新SqlServer 2012 LocalDB:
SQLServer®Express系列的新手,LocalDB是一个轻量级的 但是,具有相同可编程功能的Express版本 在用户模式下运行,并具有快速,零配置安装和 先决条件的简短列表。如果您需要一种简单的方法,请使用此方法 从代码创建和使用数据库。它可以捆绑在一起 Visual Studio,其他数据库开发工具或嵌入式 需要本地数据库的应用程序。
(摘自here)