博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站安装打包 软件环境检测与安装[二] 下
阅读量:6439 次
发布时间:2019-06-23

本文共 2033 字,大约阅读时间需要 6 分钟。

这一节主要说安装!

1。操作系统

这个应该不用了,没系统也没法运行了!

2。IIS安装

这个是重点,最后面介绍!

3。framework安装

这个也不用了,工具安装时会先检测,如果没安装这工具也打不开了!

4。RAR安装

这个可以通过调用RAR的安装文件启动安装。

代码简单的就一句话:Process.Start(“RAR的安装软件路径”);

 

 


以下重点介绍IIS的自动安装

 

IIS的自动安装也很简单,先说下原理,再说下步骤:

原理:通过调用Sysocmgr.exe系统自带的工具安装,主要参数为:"/i:sysoc.inf /u:\"这里是iis.txt文件路径\""

这里的参数没有iis安装文件的路径,那路径是在哪里指定的?答:路径就在注册表里指定了

注册表路径为:Machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup

这下面有两个键:SourcePath和ServicePackSourcePath即为路径

所以,运行Sysocmgr.exe之前,

一.是要先配置好iis.txt文件,

二.是要先改注册表路径。

三.是运行Sysocmgr.exe

四.是把注册表改回去

 

主要步骤如下:

一:新建一个txt文件,把IIS要装的组件,按如下格式编写:

[Components]

iis_common = ON
iis_www = ON
iis_asp = ON
iis_inetmgr = ON
aspnet= ON

----------------保存成iis.txt即可。里面的组件其它组件名称,可以通过查看iis6.0的帮助文档找到!

二、三、四步,直接给出代码出下:

 

ExpandedBlockStart.gif
          
///
 
<summary>
          
///
 安装IIS
          
///
 
</summary>
          
///
 
<param name="installPath">
iis386文件夹路径
</param>
          
///
 
<param name="iisTxt">
即存放安装组件的文本路径
</param>
          
///
 
<param name="errMsg">
返回的错误信息
</param>
          
///
 
<returns></returns>
          
public
 
static
 
bool
 Install(
string
 installPath, 
string
 iisTxt,
out
 
string
 errMsg)
          {
              errMsg 
=
 
""
;
              RegistryKey key 
=
 Registry.LocalMachine.OpenSubKey(
@"
SOFTWARE\Microsoft\Windows\CurrentVersion\Setup
"
,
true
);
              
if
 (key 
==
 
null
) { 
return
 
false
; }
              
string
 sourcePath 
=
 Convert.ToString(key.GetValue(
"
SourcePath
"
));
              
string
 servicePackSourcePath 
=
 Convert.ToString(key.GetValue(
"
ServicePackSourcePath
"
));
              
try
              {
                  key.SetValue(
"
ServicePackSourcePath
"
, installPath);
                  key.SetValue(
"
SourcePath
"
, installPath);
                  Process rarPro 
=
 
new
 Process();
                  rarPro.StartInfo.FileName 
=
 
"
Sysocmgr.exe
"
;
                  rarPro.StartInfo.Arguments 
=
 
string
.Format(
"
/i:sysoc.inf /u:\
"
{
0
}\
""
, iisTxt);
                  rarPro.StartInfo.UseShellExecute 
=
 
false
;
                  rarPro.StartInfo.CreateNoWindow 
=
 
false
;
                  rarPro.StartInfo.WindowStyle 
=
 ProcessWindowStyle.Hidden;
                  rarPro.Start();
//
开始  
                  rarPro.WaitForExit();
//
等待退出
                  rarPro.Dispose();
                  
return
 
true
;
              }
              
catch
 (Exception err) { errMsg 
=
 err.Message; }
              
finally
              {
                  key.SetValue(
"
ServicePackSourcePath
"
, servicePackSourcePath);
                  key.SetValue(
"
SourcePath
"
, sourcePath);
              }
              
return
 
false
;
          }

 

 打完,收工!

转载地址:http://yiuwo.baihongyu.com/

你可能感兴趣的文章
MySQL5.5编译方式安装实战
查看>>
细谈Ehcache页面缓存的使用
查看>>
GridView如何设置View的初始样式
查看>>
Placeholder in IE8 and older
查看>>
SQL语句字符串处理大全
查看>>
环境变量的作用,为什么要设置环境变量?
查看>>
从尾到头打印单链表
查看>>
getopt
查看>>
我的第一个IT产品:PublicLecture@HK【My First IT Product】
查看>>
优秀员工与普通员工
查看>>
CCNP学习笔记15-RSTP
查看>>
DELL服务器iDRAC相关设置
查看>>
JVM学习笔记(一)------基本结构
查看>>
$@等特定shell变量的含义
查看>>
我的友情链接
查看>>
(超详细版)Linux下Hadoop2.7.1集群环境的搭建(3台为例)
查看>>
策略模式、上下文与内部类的思考
查看>>
关于getCurrentUrl的获取问题
查看>>
2014年工作中遇到的20个问题:120-140
查看>>
elk系列4之kibana图形化操作【转】
查看>>