Installshield自动安装IIS组件
来源:互联网 发布:淘宝提前收款不能用了 编辑:程序博客网 时间:2024/05/18 07:15
一. 工程类型: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/
http://www.cnblogs.com/sabrinahuang/archive/2011/09/06/2168472.html
- Installshield自动安装IIS组件
- InstallShield中IIS服务的检测和组件自动安装的实现
- 用InstallShield检测是否安装IIS
- Installshield 2010 预安装组件和软件
- 用InstallShield检测是否安装IIS的脚本
- InstallShield 2010 中判断 IIS是否有安装及版本
- IIS系列:一、安装IIS组件
- InstallShield工程打包安装32/64-bit组件
- Installshield安装
- Installshield安装
- Installshield安装
- 制作iis自动安装包
- 制作iis自动安装包
- 用InstallShield 进行 ASP 软件的打包和自动安装
- 用InstallShield 进行 ASP 软件的打包和自动安装
- 用InstallShield 进行 ASP 软件的打包和自动安装
- 用InstallShield 进行 ASP 软件的打包和自动安装
- 用InstallShield 进行ASP 软件的打包和自动安装
- yum install 与 yum groupinstall 的区别
- 告别程序员生涯,一点感慨,与诸君共勉
- 制作JFFS2镜像以及挂载到PC
- linux服务自动启动
- MRS MSR 缩写
- Installshield自动安装IIS组件
- c# web Column chart(包含美观的样式)
- Java语言的环境搭建
- Android之SQlite学习小结
- 编写MR运行在Hbase上面注意事项
- 通过yum 安装 chrome 和flash 插件
- Log工具-Log4c 使用
- 以无线方式安装应用程序
- Linux安装程序详解