创建 VB.Net 程序的自动安装程序 + SQL 服务器和脚本以创建数据库和用户

Create automated installer of VB.Net program + SQL Server & script to create the DB & user

我正处于在 client/server 场景中构建 Vb.Net WinForms 应用程序的最后阶段(表单存储在 SQL 服务器中的数据)

在这个特定的项目中,我们不会是部署软件的人,因此我们正在寻找一种方法来尽可能自动化设置的数据库部分。

正在使用 ClickOnce 部署客户端应用程序,因此已排序。

至于数据库设置,您能否建议自动执行此操作的最佳方法? 通常部署会像这样(这是我们想要自动化的):

请记住,我们使用的是 Visual Studio Express,因此我们没有 InstallShield 或 "Application Setup" 模板。

能否请您 advise/suggest 根据您的经验确定最佳行动方案?

谢谢 佩德罗

我们做了类似的事情,只是我们不自己安装 SQL 服务器实例。其余的(数据库创建、运行 带有 GO 的脚本等)我们通过 C# 使用 SMO (https://msdn.microsoft.com/en-us/library/ms162169.aspx) 来完成。 或者,如果您使用 SSDT (https://msdn.microsoft.com/en-us/data/tools.aspx) it would be easy to deploy the database part as a Data-tier Application (https://msdn.microsoft.com/en-us/library/ee210546.aspx) 来控制版本控制等

我之前在应用程序中发布过 sql,这可能会很痛苦 - 您可以编写安装脚本,但它很复杂且容易出错。

是否需要使用sql server express,也许精简版可以满足您的需求?部署就简单多了。

如果您确实需要分发它并且您不希望用户自己设置它,您可以考虑对其进行虚拟化,您可以使用 spoon.net 来完成它,因此无需进行任何设置,只需在程序启动时启动 exe - 这样您就可以根据需要配置它,使用安全的 sa 密码等,然后下载并 运行.

操作步骤:

https://support.spoon.net/customer/portal/articles/1782546-virtualizing-sql-server-express-2008-using-the-snapshot-method

勺子很便宜,在这种情况下非常棒!

编辑