Web 安装包实现IE的自动安装
来源:互联网 发布:安卓游戏网络加速器 编辑:程序博客网 时间:2024/04/30 19:06
Web 安装包实现IE的自动安装
1.创建自定义安装程序集SetupLibrary
2. 代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using System.Diagnostics;
using Microsoft.Win32;
namespace SetupLibrary
{
[RunInstaller(true)]
public partial class SetupClass : Installer
{
public SetupClass()
{
InitializeComponent();
}
public override void Install(IDictionary stateSaver)
{
InstallIE8();
}
private static void InstallIE8()
{
try
{
if (OldVersionIEThan8())
{
var rarPro = new Process();
rarPro.StartInfo.FileName = "C:/Inetpub/wwwroot/AFE/IE8-WindowsXP-x86-CHS.exe";
rarPro.StartInfo.UseShellExecute = false;
rarPro.StartInfo.CreateNoWindow = false;
rarPro.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
rarPro.Start(); //开始
rarPro.WaitForExit(); //等待退出
rarPro.Dispose();
}
}catch(Exception e)
{
ShowMessage("安装IE8失败\n" + e.Message.ToString());
}
}
//这里的IIS安装没有用到
private static void InstallIIs()
{
RegistryKey key;
try
{
var installPath = "IIS/IIS6.0";
if (IsXPOS())
installPath = "IIS/IIS5.1";
ShowMessage(installPath);
key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup", true);
if (key == null)
{
ShowMessage("Registry.LocalMachine.OpenSubKey(@\"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\", true)");
return;
}
//Convert.ToString(key.GetValue("SourcePath"));
//Convert.ToString(key.GetValue("ServicePackSourcePath"));
key.SetValue("ServicePackSourcePath", installPath);
key.SetValue("SourcePath", installPath);
var 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;
}
catch (Exception err)
{
ShowMessage(err.Message);
}
finally
{
//key.SetValue("ServicePackSourcePath", servicePackSourcePath);
//key.SetValue("SourcePath", sourcePath);
}
return;
}
public override void Uninstall(IDictionary savedState)
{
}
private static bool IsXPOS()
{
return (Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major == 5
&& Environment.OSVersion.Version.Minor ==1);
}
private static bool OldVersionIEThan8()
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer", true);
string version = "Version Vector";
if (IsXPOS())
{
if (key != null) version = Convert.ToString(key.GetValue("Version"));
}
return (version.Split('.')[0] != "8");
}
private static void ShowMessage(string txt)
{
var msgBox = new Message();
msgBox.SetMessageText(txt);
msgBox.ShowDialog();
}
}
}
3.在安装项目中配置自定义操作
- Web 安装包实现IE的自动安装
- 自动安装系统的包
- 安装包的自动安装与卸载
- 安装包的自动安装与卸载
- 如果制作一个web项目安装部署包,并自动安装一些必备的组件?
- IE Web Controls的安装配置问题
- 禁止IE自动安装组件
- Jruby自动安装包
- web安装包中的- iis网站自动配置脚本
- 自动安装pkg的依赖包
- 安装 Ie Web Controls 控件
- 实现caffe的自动安装
- 如何制做 Web 应用的安装包
- 自动编译、安装iOS安装包ipa(国外的方法)
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- 文本转化成十六进制
- 一些基本的设计模式
- 下面Google的一份面试题集,看看你是否能够回答出来。
- Garbage collection (computer science)
- 资治通鉴,卷五十一,李固
- Web 安装包实现IE的自动安装
- 穷爸爸富爸爸
- 百度工程师笔试题(web开发和新产品搜索方向)
- linux在多核处理器上的负载均衡原理
- 标简单标签的实现f和 if-else
- 试试CSDN
- 简单标签实现foreach代码和jar打包的方法
- 假鸡蛋制作过程
- JSTL中的Core应用