C# VS2008 生成安装包后 安装按成后直接运行程序解决
由于将程序制作成安装程序后 安装完成 直接运行应用程序处理;
1。在选中应用程序中 右击---》 添加---》新建项---》选着 安装程序类 --》 添加
2.在应用程序中打开 新建的类 编写程序代码为:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
using System.Reflection;
namespace LocalPP
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
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 + "\\LocalPP.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。 选着解决方案 ---》 添加---》新建项 --》选着 其他项目类型 ---》安装和部署--》安装项目
输入项目名称和路径 点击 确定;
4。在新建的安装和部署项目中 选中 --》右击--》
1) 添加--》新增输出项--》选着要制作安装包的应用程序;
2) 视图 --》自定义操作 --》 向每一步中 添加输出项
5.生成 ,这样就可以了 ;
注意:(以上没有说制作快捷方式 :对于制作桌面快捷方式 在安装和部署工程中 打开 应用程序文件夹 找到要输出的项(选中) 然后右击 创建快捷方式,创建后节改快捷方式 移到 用户桌面;对于 用户的“程序”菜单 和桌面快捷方式 同样的处理 )