本来我想从Process.Strat()用Installutil.exe 把服务程序安装上去的,但是调试时可以,发布后执行就怎么也不行了,什么错也不报,语句Process.Strat(...)也执行了,就是装不了 ,可能是哪里权限不对。

解决方案 »

  1.   

    .net里的几个类,可以用来安装:
    TransactedInstaller和AssemblyInstaller
    TransactedInstaller是用来安装多个AssemblyInstaller的,我只用AssemblyInstaller就够了!
    要引用System.Configuration.Install.dll和
    using System.Configuration.Install;
    很简单
    安装:
    AssemblyInstaller myAssemblyInstaller;
    myAssemblyInstaller=new AssemblyInstaller();
    myAssemblyInstaller.UseNewContext=true;
    myAssemblyInstaller.Path="XXXService.exe";
    Hashtable mySavedState=new Hashtable()
    myAssemblyInstaller.Install(mySavedState);
    myAssemblyInstaller.Commit(mySavedState);
    myAssemblyInstaller.Dispose();卸载服务:
    AssemblyInstaller myAssemblyInstaller;
    myAssemblyInstaller=ne