做安装包,安装后自动运行程序

1 新建安装部署项目

打开VS2005,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目),然后点击确定。

2 安装向导

关闭后打开安装向导,点击下一步,或者直接点击完成。

3 开始制作

安装向导完成后即可进入项目文件夹:

双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。这样安装程序安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用户的'程序'菜单"和"用户桌面"相应目录下新建快捷方式,然后定位到你的文件。

然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:Program Files你的用户名安装解决方案名称";

然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备", 在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。选上以后,在生成的安装文件包中包含.NetFramework组件 。好了,这样就完成99%了,然后点击"生成->生成解决方案",生成成功!

我以前参考过的,希望对你有帮助。

http://hi.baidu.com/rivers811/blog/item/1fae4716820ced4c20a4e9ef.html

http://hi.baidu.com/xw010203/blog/item/90f66603b0f61e8fd43f7ca2.html

安装完成后自动启动程序

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",完成添加.

原文地址:https://www.cnblogs.com/lisengl/p/3255392.html