倾囊求助 Install类怎么在winform里面用? 难道偌大的一个CSDN没有人知道失望ing........................... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一段我用过的代码:实现在安装过程中自动安装附带的支持软件,你也可以把ocx的注册等写到这里,安装时就自动注册了。using System;using System.Collections;using System.ComponentModel;using System.Configuration.Install;using System.IO;using System.Diagnostics;using System.Windows.Forms;namespace BX_ZDTD{ /// <summary> /// Installer 的摘要说明。 /// </summary> [RunInstaller(true)] public class Installer : System.Configuration.Install.Installer { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Installer() { // 该调用是设计器所必需的。 InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化 } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region 组件设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { components = new System.ComponentModel.Container(); } #endregion private void InstallDateBase() { StreamWriter ss=new StreamWriter(@"c:\CONFIG.SYS",true); ss.Close(); string dir=this.Context.Parameters["dir"]; ProcessStartInfo psi = new ProcessStartInfo(); psi.WorkingDirectory = dir+"\\MsAgent"; psi.FileName = dir + @"\MsAgent\MSagent.exe"; //psi.UseShellExecute=true; //msi文件,如是exe不用设 Process.Start(psi); ProcessStartInfo psi1 = new ProcessStartInfo(); psi1.WorkingDirectory = dir+"\\MsAgent"; psi1.FileName = dir + @"\MsAgent\vfpoledb.exe"; //psi.UseShellExecute=true; //msi文件,如是exe不用设 Process.Start(psi1); ProcessStartInfo psi2 = new ProcessStartInfo(); psi2.WorkingDirectory = dir+"\\MsAgent"; psi2.FileName = dir + @"\MsAgent\Merlin.exe"; //psi.UseShellExecute=true; //msi文件,如是exe不用设 Process.Start(psi2); } public override void Install(System.Collections.IDictionary stateSaver) { try { base.Install(stateSaver); this.InstallDateBase();//调用上面的方法 } catch { throw; } } public override void Uninstall(System.Collections.IDictionary stateSaver) { base.Uninstall(stateSaver); //UnInstallDataBase(); } public override void Commit(System.Collections.IDictionary stateSaver) { base.Commit(stateSaver); } public override void Rollback(System.Collections.IDictionary stateSaver) { base.Rollback(stateSaver); } 添加->添加类->安装程序类 C# Winform 里用 process如何判断BAT文件运行结束?有代码 请教参数化查询的问题 怎样做一个邮件提醒程序,100分全送上。 一个自动生成datalist的问题 奇怪,IE,HTTPREQUEST,SOCKET mysql中怎么用sql语句生成xml 你们开发用vs 2003还是vs 2005? [求助]正则表达式难题 ADO.net 數據模板的問題 delegate只能在类定义里面声明吗? 不能再函数里面声明? 如何导入帮助文档 RichTextBox 怎么实现 插入图片
实现在安装过程中自动安装附带的支持软件,你也可以把ocx的注册等写到这里,安装时就自动注册了。
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;namespace BX_ZDTD
{
/// <summary>
/// Installer 的摘要说明。
/// </summary>
[RunInstaller(true)]
public class Installer : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Installer()
{
// 该调用是设计器所必需的。
InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion private void InstallDateBase()
{
StreamWriter ss=new StreamWriter(@"c:\CONFIG.SYS",true);
ss.Close();
string dir=this.Context.Parameters["dir"]; ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = dir+"\\MsAgent";
psi.FileName = dir + @"\MsAgent\MSagent.exe";
//psi.UseShellExecute=true; //msi文件,如是exe不用设 Process.Start(psi);
ProcessStartInfo psi1 = new ProcessStartInfo();
psi1.WorkingDirectory = dir+"\\MsAgent";
psi1.FileName = dir + @"\MsAgent\vfpoledb.exe"; //psi.UseShellExecute=true; //msi文件,如是exe不用设
Process.Start(psi1); ProcessStartInfo psi2 = new ProcessStartInfo();
psi2.WorkingDirectory = dir+"\\MsAgent";
psi2.FileName = dir + @"\MsAgent\Merlin.exe"; //psi.UseShellExecute=true; //msi文件,如是exe不用设
Process.Start(psi2); } public override void Install(System.Collections.IDictionary stateSaver)
{
try
{
base.Install(stateSaver);
this.InstallDateBase();//调用上面的方法
}
catch
{
throw;
}
} public override void Uninstall(System.Collections.IDictionary stateSaver)
{
base.Uninstall(stateSaver);
//UnInstallDataBase();
} public override void Commit(System.Collections.IDictionary stateSaver)
{
base.Commit(stateSaver);
} public override void Rollback(System.Collections.IDictionary stateSaver)
{
base.Rollback(stateSaver);
}