当前位置:编程学习 > C#/ASP.NET >>

在vs2005下打包,如何使安装程序在安装结束后,自动运行刚安装的程序?

如题。
用VS2005自带的打包功能来打包。 --------------------编程问答-------------------- 做一个自定义安装类从Installer类继承,添加安装项目的自定义操作
重写Installer的基类运行Exe。 --------------------编程问答-------------------- 参考:http://zhidao.baidu.com/question/89333960

安装完成后自动启动程序

1.新建一个空的项目InstallCompenent,步骤为:解决方案->右键添加->新建项目->选择"空项目"->输入名称"InstallCompenent"->确定,完成项目的添加.

2.在InstallCompenent项目中右键->添加->新建项->选择安装程序类->输入名称"Installer",完成installer类的添加.

修改代码为:
/// <summary>
    /// 功能是做安装项目主项目输出
    /// 实现安装过程中的一些操作
    /// 如:安装完成后启动项目
    /// </summary>
    [RunInstaller(true)]
    public partial class Installer : Installer
    {
        /// <summary>
        /// 应用程序入口
        /// </summary>
        public static void Main()
        {
        }
        /// <summary>
        /// 构造函数
        /// </summary>
        public ECSuitsInstaller()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 重写安装完成后函数
        /// 实现安装完成后自动启动已安装的程序
        /// </summary>
        /// <param name="savedState"></param>
        protected override void OnAfterInstall(IDictionary savedState)
        {
            base.OnAfterInstall(savedState);
            Assembly asm = Assembly.GetExecutingAssembly();
            string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
            System.Diagnostics.Process.Start(path + "\\ECSuits.exe");
        }
        /// <summary>
        /// 重写安装过程方法
        /// </summary>
        /// <param name="stateSaver"></param>
        public override void Install(IDictionary stateSaver)
        {
            base.Install(stateSaver);
        }
        /// <summary>
        /// 重写安装之前方法
        /// </summary>
        /// <param name="savedState"></param>
        protected override void OnBeforeInstall(IDictionary savedState)
        {
            base.OnBeforeInstall(savedState);
        }
        /// <summary>
        /// 重写卸载方法
        /// </summary>
        /// <param name="savedState"></param>
        public override void Uninstall(IDictionary savedState)
        {
            base.Uninstall(savedState);
        }
        /// <summary>
        /// 重写回滚方法
        /// </summary>
        /// <param name="savedState"></param>
        public override void Rollback(IDictionary savedState)
        {
            base.Rollback(savedState);
        } 
    }


3.在安装项目中右键->添加项目输出->选择"项目"->InstallCompenent.

完成主输出项目的添加.

4.打开自定义操作编辑器,在安装->右键->添加自定义操作->选择"应用程序文件夹"->选择"主输出来自InstallCompenent",完成添加. 
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,