程序安装时检查是否已经安装.NETFramework


From: http://ghd258.cnblogs.com/archive/2005/10/25/262052.html

添加新项中添加一个安装程序类
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();
            }


        }

    }

}

你可能感兴趣的:(framework)