创建 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 部署客户端应用程序,因此已排序。
至于数据库设置,您能否建议自动执行此操作的最佳方法?
通常部署会像这样(这是我们想要自动化的):
安装 SQL Server Express Edition 作为混合模式身份验证中的单个实例(我们必须使用混合模式,因为我们不能保证我们会有 AD)。 (如果可能的话让用户在安装时指定SA密码,如果不可能的话,我们可以将其设置为预设)
配置实例使用固定的TCP/IP端口
在Windows防火墙
中打开TCP/IP端口
最后 运行 创建数据库的 SQL 脚本(Tables/stored procs/base 日期)
请记住,我们使用的是 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 密码等,然后下载并 运行.
操作步骤:
勺子很便宜,在这种情况下非常棒!
编辑
我正处于在 client/server 场景中构建 Vb.Net WinForms 应用程序的最后阶段(表单存储在 SQL 服务器中的数据)
在这个特定的项目中,我们不会是部署软件的人,因此我们正在寻找一种方法来尽可能自动化设置的数据库部分。
正在使用 ClickOnce 部署客户端应用程序,因此已排序。
至于数据库设置,您能否建议自动执行此操作的最佳方法? 通常部署会像这样(这是我们想要自动化的):
安装 SQL Server Express Edition 作为混合模式身份验证中的单个实例(我们必须使用混合模式,因为我们不能保证我们会有 AD)。 (如果可能的话让用户在安装时指定SA密码,如果不可能的话,我们可以将其设置为预设)
配置实例使用固定的TCP/IP端口
在Windows防火墙
中打开TCP/IP端口
最后 运行 创建数据库的 SQL 脚本(Tables/stored procs/base 日期)
请记住,我们使用的是 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 密码等,然后下载并 运行.
操作步骤:
勺子很便宜,在这种情况下非常棒!
编辑