我在 c# 中有一个 .net 应用程序。我使用 SQL Server 2005 作为数据库。我想为它创建设置。我希望当我运行安装程序时,它会自动安装我在先决条件中添加的 SQL Server 2005。
请帮助如何创建设置...?
我在 c# 中有一个 .net 应用程序。我使用 SQL Server 2005 作为数据库。我想为它创建设置。我希望当我运行安装程序时,它会自动安装我在先决条件中添加的 SQL Server 2005。
请帮助如何创建设置...?
Visual Studio 的付费版本具有创建安装程序包的能力,但是,该功能严重缺乏,并且在 VS11 中被删除。我用过,我可以说,它不值得用。还有其他免费的部署工具。我推荐Windows Installer XML。
VisualStudio 确实有新项目 -> 其他项目类型 -> 安装和部署 -> 安装项目。正如 Kendall 指出的,这是一个非常有限/基本的安装程序解决方案。但是,如果您真正想要做的只是将 SQL Express 作为先决条件并且您安装了应用程序,那么它可以管理它(但仅此而已)。
要设置先决条件:
请注意,SQL Server 2005 将限制您安装 x86 - 如果您想要 x64 安装,请使用 SQL Server 2008 Express/full。
您可以在 Visual Studio 中创建一个安装项目。它可以创建离线设置,其中可以包括先决条件或配置为在安装离线设置时从在线位置下载所述先决条件。
http://msdn.microsoft.com/en-us/library/2kt85ked.aspx
在进入这个之前,虽然我想分享我使用 SQL Server 作为先决条件的非常痛苦的经历,以及为什么你应该真正避免它(实际上,无论你使用哪种部署系统)。
请参阅,Visual Studio 实例可用的先决条件取决于安装 VS 的同一台计算机上存在的文件夹:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages(这是针对 VS 2010 ,将 v7.0A 替换为 VS 2008 的 v6.0A,如果您使用的是 64 位,则将 Program Files 替换为 Program Files 9x86)。
你现在可以去检查一下,你很可能会看到一个文件夹列表,称为引导程序包,它们具有以下基本结构:
product.xml :一个 xml 文件,描述 Visual Studio 的先决条件。这个文件是最重要的。它列出:
一堆可执行文件(msi、exe):安装 prerrequesite 所需的文件(如果 product.xml 指的是获取这些文件的在线位置,则可能没有)。
可选地,一些具有语言环境名称的文件夹:您的 prerrequesite 的本地化。
现在这个系统有两大类问题:
此设置系统的缺点:
首先,product.xml 文件很难构建。这很可能意味着您要计算校验和、创建证书、浏览 Windows Installer 安装日志文件、使用一个非常有问题的工具,称为Bootstrapper Manifest Generator。你会发现自己在谷歌上搜索问题,唯一的结果将是你自己未回答的 Stack Overflow 问题。相信我,我去过那里。
其次,这整个助推器的事情完全不受(源)控制,并且是对团队合作和持续集成概念的侮辱。在 Program Files 中进行项目安装配置意味着:
SQL Server 作为先决条件的缺点:
乍一看,SQL Server 安装命令行似乎很简单。您决定实例的名称,是安装还是升级,访问权限等。问题是,当您在现实生活中实际尝试时,我无法计算您在路径上会遇到的问题数量:
如果您手动运行设置,它会告诉您原因。但是,如果您尝试将其作为先决条件进行,则意味着您必须预见可能发生的每一个配置问题。相信我,你永远看不到它的结局:SQL Server 设置如此复杂是有原因的......
现在你能做什么?