当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 关于.net下服务安装

ASP.NET
ASP.net Menu控件在Google Chrome和Safari浏览器下显示错位的解决办法
最简单的.NET生成随机数函数
asp.net 相关文章实现方法
asp.net 分页潜谈
asp.net(C#) Access 数据操作类
asp.net 编程 实用语句(6条)
ASP.NET 小技巧(2个)
asp.net Excel转换为SQL Server的方法
asp.net String.Empty NULL 不同之处
asp.net 防止SQL注入攻击
aspx 页面弹出窗口代码大全
asp.net 点击按钮提交后使按钮变灰不可用
asp.net得到本地电脑基本信息的简单方法
asp.net 点缩略图弹出随图片大小自动调整的页面
asp.net treeview checkbox 相关问题
asp.net 特定目录form验证
C# CUR类实现代码
asp.net gridview中用checkbox全选的几种实现的区别
asp.net 文件下载的通用方法
解决AJAX.NET中的悬停panel在页面加载时闪烁的问题

ASP.NET 中的 关于.net下服务安装


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 140 ::
收藏到网摘: n/a


本来我想从Process.Strat()用Installutil.exe 把服务程序安装上去的,但是调试时可以,发布后执行就怎么也不行了,什么错也不报,语句Process.Strat(...)也执行了,就是装不了 ,可能是哪里权限不对。
后来在网上找到.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=new AssemblyInstaller();
myAssemblyInstaller.UseNewContext=true;
myAssemblyInstaller.Path="XXXService.exe";
myAssemblyInstaller.CommandLine=new string[1]{"/u"};

myAssemblyInstaller.Uninstall(null);
myAssemblyInstaller.Dispose();
这2个类应该也可以制作一些小的安装程序!