Installshield自动安装IIS组件

简介: 原文:Installshield自动安装IIS组件 一. 工程类型:IS2010 installscript 二.原理: 1. XP和 Server2003系统:由于系统默认没有自带IIS组件,一般情况我们是需要通过添加删除程序----WINDOWS组件安装界面并插入系统盘来进行安装。
原文: Installshield自动安装IIS组件

一. 工程类型:IS2010 installscript

二.原理:

1. XP和 Server2003系统:由于系统默认没有自带IIS组件,一般情况我们是需要通过添加删除程序----WINDOWS组件安装界面并插入系统盘来进行安装。实际上我们可以不调出添加删除程序界面,而通过系统可选组件安装管理进程”sysocmgr.exe”(system stand-alone optional component manager)来调出WINDOWS组件安装的界面,并且事先定义好的安装/卸载组件配置文件,这样程序在读入该文件时就会对文件内的设置作相应处理从而实现IIS自动安装。但这样安装的话中间会不停地弹出让用户选择路径,如果我们想将组件的安装位置指定于光盘以外的其它驱动/文件夹的话,必须更改那两项注册表值,并且把文件放至具有I386特质的文件夹下。那么我们的IIS无人值守功能就实现了.

2. Windows 7和 Server 2008系统:由于系统默认自带了IIS组件,只是默认情况下处于非开启状态,只要通过命令行开启即可。

三.具体代码实现:

1.XP和 Server2003系统:

1)配置文件:

[Components]

iis_common = ON

iis_www = ON

iis_asp = ON

iis_inetmgr = ON

aspnet= ON

2)修改两项注册表值到实际的组件文件存放的位置

   RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
   if (RegDBKeyExist ( "\\SOFTWARE\\Microsoft\\windows\\currentversion\\setup

\\ServicePackSourcePath" )=1) then
         RegDBDeleteKey ( "\\SOFTWARE\\Microsoft\\Windows\\currentversion\\setup

\\ServicePackSourcePath" );
   endif; 

   RegDBSetKeyValueEx ( "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup" ,

"ServicePackSourcePath" , REGDB_STRING , SRCDIR^"iis6" , -1 ); 

   if (RegDBKeyExist ( "\\SOFTWARE\\Microsoft\\windows\\currentversion\\setup \\SourcePath" )=1) then
         RegDBDeleteKey ( "\\SOFTWARE\\Microsoft\\Windows\\currentversion\\setup

\\SourcePath" );
   endif;
   RegDBSetKeyValueEx ( "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup" ,

"SourcePath" , REGDB_STRING , SRCDIR^"iis6" , -1 ); 

3)调用可选组件安装管理sysocmgr.exe进程自动安装IIS
   LaunchAppAndWait ( SystemFolder^"sysocmgr.exe" , "/i:sysoc.inf /r /u:\""

+SRCDIR^"iis6\\config.txt\"" , LAAW_OPTION_WAIT ); 

sysocmgr.exe参数:

  /i:<master_oc_inf> - (必须的) 指定主 inf 的名称。以此作为安装的源路径。
  /u:<unattend_spec> - 指定无人参予的操作参数
  /r                 - 抑制重新启动(在需要重新启动时)。
  /z                 - 显示跟随的参数不是 OC 参数且不需要传给组件。
  /n                 - 强制将指定的主 inf 作为新的文件处理。
  /f                 - 表明所有组件安装状态需要初始化,就象安装程序从未运行一样。
  /c                 - 在安装的最后阶段不允许取消。
  /x                 - 抑制  '初始化' 标题。
  /q                 - 同 /u 一起使用。 运行没有界面的无人参与安装。
  /w                 - 同 /u 一起使用。如果需要重新启动,提示用户而不要自动重新启动。
  /l                 - 识别多种语言安装。

2.Windows 7系统可以通过dism.exe开启系统自带的IIS

1)通过命令dism /online /get-features | more查询要开启的IIS的feature名为:IIS-WebServerManagementTools

2) 开启IIS feature:

 LaunchAppAndWait
(WINSYSDIR^"dism.exe"," /online /enable-feature
/featurename:IIS-WebServerManagementTools /NoRestar",WAIT);

LaunchAppAndWait
(WINSYSDIR^"dism.exe"," /online /enable-feature /featurename:IIS-FTPServer
/NoRestar",WAIT);

LaunchAppAndWait
(WINSYSDIR^"dism.exe"," /online /enable-feature /featurename:
IIS-WebServer
/NoRestar",WAIT);

 注:禁用IIS feature可以 用:

LaunchAppAndWait (WINSYSDIR^"dism.exe"," /online /disable-feature /featurename:IIS-WebServerManagementTools /NoRestar",WAIT);

LaunchAppAndWait (WINSYSDIR^"dism.exe"," /online / disable-feature /featurename:IIS-FTPServer /NoRestar",WAIT);

LaunchAppAndWait (WINSYSDIR^"dism.exe"," /online / disable-feature /featurename: IIS-WebServer /NoRestar",WAIT);

3.Server 2008系统可以通过ServerManagerCmd.exe开启系统自带的IIS

1)通过命令ServerManagerCmd.exe -query查询要开启的IIS的名为:web-server

2)安装IIS feature: LaunchAppAndWait (WINSYSDIR^"ServerManagerCmd"," -i web-server",WAIT);

注:移除IIS feature可以 用:LaunchAppAndWait (WINSYSDIR^"ServerManagerCmd"," -remove web-server",WAIT);

 

 

以上XP系统自动安装IIS组件的方法,非常感谢呼吸新世界 提供的思路,原文出处链接 :http://wglnngt-001.blog.163.com/blog/static/4077058420091114114655168/

 

 

版权声明:转载请以链接形式注明原始出处。

 

目录
相关文章
|
3月前
|
Windows
Windows11 安装IIS的步骤
Windows11 安装IIS的步骤
90 0
|
5月前
|
开发框架 .NET Apache
windows安装IIS服务
windows安装IIS服务
36 0
|
9月前
|
开发框架 .NET Windows
iis正确安装了,但是还是无法访问,这是iis和.net安装顺序问题,记录一下
iis正确安装了,但是还是无法访问,这是iis和.net安装顺序问题,记录一下
|
11月前
|
开发框架 .NET Shell
安装与配置IIS
安装与配置IIS
202 0
安装与配置IIS
|
Windows
Win10的IIS服务器详细安装与配置
Win10的IIS服务器详细安装与配置
784 0
Win10的IIS服务器详细安装与配置
|
数据中心 Windows
给服务器安装IIS添加WEB服务器角色
新安装的win server服务器,想要搭建网站并让其他人访问需要给服务器安装IIS添加WEB服务器角色,下面以windows server 2016数据中心为例来看看怎么添加WEB服务器角色。
628 0
给服务器安装IIS添加WEB服务器角色
Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法
Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法,还包括常用的伪静态规则使用方法
116 0
Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法
|
存储 弹性计算 网络安全
阿里云IIS服务器SSL证书安装
阿里云IIS服务器SSL证书安装
|
网络协议 文件存储 数据安全/隐私保护
通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题
通过客户反馈我们发现Windows Server 2016的IIS无法加载SMB文件卷的文件,显示的错误是:未能加载文件或程序集。经过我们不断研究和实验,发现在安装和配置好AD域之后,2016上IIS加载文件卷文件发生错误的问题可以得到解决。
4117 0
通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题
|
Windows
Windows Server 2008 R2安装IIS 7.0
Windows Server 2008 R2安装IIS 7.0详细流程。 1、计算机右键 -【管理】(如图1-1)。 图 1-1 2、【角色】-【添加角色】(如图1-2)。
3827 0