添加新项中添加一个安装程序类 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#region Component Designer generated code /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { components = new System.ComponentModel.Container(); } #endregion 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(); } } }}