网站安装打包 软件环境检测与安装[二] 下
這一節主要說安裝!
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的幫助文檔找到!
二、三、四步,直接給出代碼出下:
?
??????????///?<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;
??????????}
?
?打完,收工!
總結
以上是生活随笔為你收集整理的网站安装打包 软件环境检测与安装[二] 下的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android被逼学习布局管理器
- 下一篇: 添加操作。。。