设为首页 收藏本站
查看: 980|回复: 0

[经验分享] Installshield自动安装IIS组件

[复制链接]

尚未签到

发表于 2015-8-12 11:49:39 | 显示全部楼层 |阅读模式
  一. 工程类型: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/
  
  
  版权声明:转载请以链接形式注明原始出处。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97897-1-1.html 上篇帖子: IIS(IISReset.exe)命令行 下篇帖子: iis6 伪静态 iis配置方法 【图解】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表