添加新项中添加一个安装程序类
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using Microsoft.Win32;
using System.Diagnostics;
using System.IO;
namespace DOTNETCheck
{
/// <summary>
/// CheckDotnet 的摘要说明。
/// </summary>
[RunInstaller(true)]
public class CheckDotnet : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public CheckDotnet()
{
// 该调用是设计器所必需的。
InitializeComponent();
// TODO: 在 InitComponent 调用后添加任何初始化
}
Component Designer generated code
public override void Install(System.Collections.IDictionary stateSaver)
{
//入口
RegistryKey key=null;
key = Registry.LocalMachine.CreateSubKey("Software\\Microsoft\\.NETFramework\\policy\\v1.0");
if(key==null||key.GetValue("3705")==null)
{
Process MyProcess=new Process();
MyProcess.StartInfo.FileName="dotnetfx.exe";
MyProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
MyProcess.Start();
MyProcess.WaitForExit(); //等待程序执行
MyProcess.Close();
}
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using Microsoft.Win32;
using System.Diagnostics;
using System.IO;
namespace DOTNETCheck
{
/// <summary>
/// CheckDotnet 的摘要说明。
/// </summary>
[RunInstaller(true)]
public class CheckDotnet : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public CheckDotnet()
{
// 该调用是设计器所必需的。
InitializeComponent();
// TODO: 在 InitComponent 调用后添加任何初始化
}
Component Designer generated code
public override void Install(System.Collections.IDictionary stateSaver)
{
//入口
RegistryKey key=null;
key = Registry.LocalMachine.CreateSubKey("Software\\Microsoft\\.NETFramework\\policy\\v1.0");
if(key==null||key.GetValue("3705")==null)
{
Process MyProcess=new Process();
MyProcess.StartInfo.FileName="dotnetfx.exe";
MyProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
MyProcess.Start();
MyProcess.WaitForExit(); //等待程序执行
MyProcess.Close();
}
}
}
}