winform、windows service 安装

WinForm:

1:多线程调用带参数的

  方法:  

new Thread(new ThreadStart(UpDateData)); //调用

//线程调用的方法   
//FromDBConnectionString 全局变量
//ToDBConnectionString    全局变量
private void UpDateData()  
{
    SQLHandle.UpdateData2(FromDBConnectionString, ToDBConnectionString);  //带参数的方法
}

或者在SQLHandle声明 全局变量 使用时 先复制变量在方法中直接调用变量

//使用 委托代理
ThreadStart starter = delegate { SQLHandle.UpdateData2(FromDBConnectionString, ToDBConnectionString); };
new Thread(starter).Start();

 

还有很多方法

 

2:线程间操作无效:从不是创建“XXX”的线程访问他

 方法1:  

Control.CheckForIllegalCrossThreadCalls = false;//所有控件都可以被访问

方法2:

delegate void SetTextCallback(string str);   //定义委托

//mLog  txt文本控件添加日志信息的方法
public void Append(string alog)
{
          if (mLog.InvokeRequired)  //控件是否跨线程  如果是,则执行括号里代码  
             {
                SetTextCallback setListCallback = new SetTextCallback(Append);   //实例化委托对象
                mLog.Invoke(setListCallback, alog);
           }
           else
           {
                alog = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ":" + alog + "\r\n\r\n";
                mLog.AppendText(alog);
           }
}

 

WinForm、Window Service 安装程序的创建

新建项目:

  在你的WinForm 、Window Service 程序的解决方案下

  1.新建: 选择 Visual Studio Installer - 安装项目

  2.右键 安装程序 选择 视图 -文件系统 

  3.在应用程序文件夹 右键 添加-项目输出   选择你的 WinForm 、Window Service 程序

  4.右键 安装程序 选择 视图 - 自定义操作

  5.在自定义操作界面 的 安装和卸载 右键 添加自定义操作 选择 应用程序文件夹中 你主输出程序集

  6.生成 找到 安装程序目录下的 Debug/Release  根据自己的项目配置

    setup.exe 文件只是安装程序   .msi 文件 集合 安装、卸载 功能  

posted on 2012-06-13 16:28  维护宇宙和平  阅读(271)  评论(0编辑  收藏  举报