之前收到一个任务,制作安装包,要求把必备的一些必备的组件如.NET Framework这些玩意用一键安装的形式安装上去,SQL Server是必备的其中之一。可是在系统必备处勾选了SQL Server 2005 Express SP2(x86),在生成的时候报错了:

  系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“SQL Server 2005 Express Edition SP2 (x86)”中的文件“SqlExpress\sqlexpr32.exe”。有关详细信息,请参见帮助。

  可是我谷歌了也谷不出办法。安装了SQL Server 2005 Express也是无补于事,还有另一件头痛的事,安装SQL Server 2005还需要.NET Framework2.0,这样系统必备组件我的VS2010里面压根就没有啊!这个在网上找了一下还是有解决办法。就是到VS2005或VS 2008的C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages里面把 DotNetFX文件夹复制到C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下面。果然在系统必备里多了一项。

  对这个做法思考一番,看了一下各个文件夹下面的文件,又尝试了一下,终于悟出了一些东西,沿用类似的方法,就可以自定义添加系统必备了。

  首先要了解一下每个必备项的安装目录结构,拿这个SQL Server2008的作为例子

 自定义系统必备

  • en和zh-Hans是各种语言版本的安装包
  • product.xml是比较关键的一个文档,定义着这个必备组件的配置信息。
  • SqlExpress.exe是检测程序而已,作用在于安装时检测这个必备组件安装了没。

接着随便进入一种语言的目录下看看,选择了中文汉语的。

自定义系统必备

  • eula.rtf:安装时的一些自述信息,例如受什么法律保护之类的。
  • package.xml:一键安装时的一些配置信息。
  • SQLExpr_x64_chs.exe和SQLExpr_x86_chs.exe是SQL Server 2008 Express的安装包

 

上面提及到两个配置文件,要添加好一个“系统必备”无非就是配置好这些必备组件的安装信息罢了。

由于还没完全弄明白各个节点各个属性的含义,只是把弄明白的列出来

product.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!-- SQL Express 2008 VS Bootstrapper : product.xml : Language neutral information -->
 3 <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.Sql.Server.Express.10.0">
 4   <RelatedProducts>
 5     <EitherProducts>
 6       <DependsOnProduct Code=".NETFramework,Version=v4.0" />
 7       <DependsOnProduct Code="Microsoft.Net.Framework.3.5.SP1" />
 8     </EitherProducts>
 9     <DependsOnProduct Code="Microsoft.Windows.Installer.4.5" />
10     <IncludesProduct Code="Microsoft.Sql.Server.Express.1.0" />
11     <IncludesProduct Code="Microsoft.Sql.Server.Express.9.2" />
12   </RelatedProducts>
13   <PackageFiles>
14     <PackageFile Name="SqlExpressChk.exe" />
15   </PackageFiles>
16 </Product>
product.xml

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-24
  • 2021-07-10
  • 2022-02-17
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-31
  • 2022-12-23
  • 2021-06-11
  • 2021-08-07
  • 2022-12-23
  • 2021-10-15
相关资源
相似解决方案