请问下:VS2005 如何给window 服务工程打安装包:效果是:
点击安装包,就自动启动window 服务.既[控制面板----服务---看见自己做服务]

解决方案 »

  1.   

    我按照此方法打包:无效
    C#WinForm程序打包2008-06-04 09:56  今天上午学会了C#WinForm程序打包。昨天看到一个网友的发过来的程序,里面附带打包的安装程序,所以今天自己也想试着把自己刚写的WinForm程序打包。虽然摸索了两个小时,但总算成功打包、安装和执行。先把过程简单记录如下:一、C#WinForm打包工具在方案添加项目时,选择“新建项目”,在弹出对框框,项目类型选择“安装和部署项目”,模板选择“安装项目”或者“安装向导”(建议选择“安装向导”),输入安装项目的名称,路径默认为该方案存放的目录下。确定后,弹出安装向导的对话框,单击“下一步”,在新对话框选择“创建用于Windows应用程序的安装程序”,单击“下一步”,在新对话框选择“项目输出组”(建议全选),根据提示一步一步进行,可以选择附加文件,最后单击“完成”。二、打包过程  返回开发环境中,在资源管理器中,选择新建立的安装和部署项目,可以看到其详细信息,在“应用程序文件夹”中,选择“主输出……”右键选择“创建主输出……”的快捷方式,创建两个,分别重命名为适当的名称,然后将两个快捷方式分别拖到“用户的程序菜单”和“用户桌面”。以上操作完成后,可以选中资源管理器中的安装和部署项目,右键选择“重新生成”,将完成打包过程。  打包完成后,到打包文件存放的目录下,可以看到打包的文件,单击exe文件进行安装测试。安装完成后,在桌面和程序条中都可以看到该项目的启动入口。三、其他说明1、查看安装目录,可能会有源文件,解决办法就是把打包应用程序文件夹中的“源文件……”和“调试……”两个输出项目删除。2、在打包设置中,可以设置桌面快捷方式的图标、程序条中的图标等。3、如果没有选择“安装向导”,一些内容需要手动完成。
     
    打包的.exe文件,安装后不能掉用服务!
      

  2.   

    参照这个弄就OK了:http://support.microsoft.com/kb/816169/zh-cn
      

  3.   

          .net里调用别的程序的方法 
          /// <summary>
            /// 调用程序
            /// </summary>
            /// <param name="m_Name">被调用程序的名字</param>
            /// <param name="m_Path">被调用程序的路径</param>
            /// <returns></returns>
            private bool RunPro(string m_Name, string m_Path)
            {
                if ((!"".Equals(m_Path)) || (!"".Equals(m_Name)))
                {
                    System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
                    Info.FileName = m_Name;
                    Info.WorkingDirectory = m_Path;                System.Diagnostics.Process Proc;                Proc = System.Diagnostics.Process.Start(Info);//启动外部程序
                    return true;
                }
                else
                {
                    return false;
                }
            }
      

  4.   


    /// <summary> 
            /// 调用程序 
            /// </summary> 
            /// <param name="m_Name">被调用程序的名字 </param> 
            /// <param name="m_Path">被调用程序的路径 </param> 
            /// <returns> </returns> 
            private bool RunPro(string m_Name, string m_Path) 
            { 
                if ((!"".Equals(m_Path)) || (!"".Equals(m_Name))) 
                { 
                    System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo(); 
                    Info.FileName = m_Name; 
                    Info.WorkingDirectory = m_Path;                 System.Diagnostics.Process Proc;                 Proc = System.Diagnostics.Process.Start(Info);//启动外部程序 
                    return true; 
                } 
                else 
                { 
                    return false; 
                } 
            }