亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c#開發的程序安裝時動態指定windows服務名稱

2020-01-24 03:41:46
字體:
來源:轉載
供稿:網友
這下可把我難住了,難道要 在開發的代碼中一個一個地設置想要的名稱,然后重新編譯,再注冊成服務?
但是如果將來又要換個名稱呢?再重新設置、 編譯、注冊一遍?這樣操作太麻煩了!
于是我就想能不能通過在安裝的時候進行配置,比如加一個xml文件記錄要安裝的服務的服務名等信息,每次安裝前修改該xml文件就可以了。
操作:
1、首先添加一個配置文件到服務主程序的根目錄,取名“ServiceSetting.xml”:
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
<Settings>
<ServiceName>testme</ServiceName>
<DisplayName>testmedisplay</DisplayName>
<Description>這里僅僅是個測試而已</Description>
</Settings>

2、然后添加一個類文件到服務主程序的根目錄,取名"SettingHelper.cs":
復制代碼 代碼如下:

SettingHelper
#region 文件描述
//-------------------------------------------------------------------------------------------------
// 描述:服務安裝配置幫助類
// 作者:鮑昊晟
// 時間:2012-05-10
//-------------------------------------------------------------------------------------------------
#endregion
using System;
using System.IO;
using System.Xml;
/// <summary>
/// 服務安裝配置幫助類
/// </summary>
internal class SettingHelper : IDisposable
{
#region 私有成員
private string _ServiceName;
private string _DisplayName;
private string _Description;
#endregion
#region 構造函數
/// <summary>
/// 初始化服務配置幫助類
/// </summary>
public SettingHelper()
{
InitSettings();
}
#endregion
#region 屬性
/// <summary>
/// 系統用于標志此服務的名稱
/// </summary>
public string ServiceName
{
get { return _ServiceName; }
}
/// <summary>
/// 向用戶標志服務的友好名稱
/// </summary>
public string DisplayName
{
get { return _DisplayName; }
}
/// <summary>
/// 服務的說明
/// </summary>
public string Description
{
get { return _Description; }
}
#endregion
#region 私有方法
#region 初始化服務配置信息
/// <summary>
/// 初始化服務配置信息
/// </summary>
private void InitSettings()
{
string root = System.Reflection.Assembly.GetExecutingAssembly().Location;
string xmlfile = root.Remove(root.LastIndexOf('//') + 1) + "ServiceSetting.xml";
if (File.Exists(xmlfile))
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlfile);
XmlNode xn = doc.SelectSingleNode("Settings/ServiceName");
_ServiceName = xn.InnerText;
xn = doc.SelectSingleNode("Settings/DisplayName");
_DisplayName = xn.InnerText;
xn = doc.SelectSingleNode("Settings/Description");
_Description = xn.InnerText;
doc = null;
}
else
{
throw new FileNotFoundException("未能找到服務名稱配置文件 ServiceSetting.xml!");
}
}
#endregion
#endregion
#region IDisposable 成員
private bool disposed = false;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
//managed dispose
_ServiceName = null;
_DisplayName = null;
_Description = null;
}
//unmanaged dispose
}
disposed = true;
}
~SettingHelper()
{
Dispose(false);
}
#endregion
}

3、修改ProjectInstaller.cs文件,在修改構造函數public ProjectInstaller()如下:
復制代碼 代碼如下:

ProjectInstaller
using System.ComponentModel;
using System.Configuration.Install;
namespace WSInstallTest
{
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
using (SettingHelper setting = new SettingHelper())
{
serviceInstaller1.ServiceName = setting.ServiceName;
serviceInstaller1.DisplayName = setting.DisplayName;
serviceInstaller1.Description = setting.Description;
}
}
//end of class
}
}

4、執行安裝命令:
在開始菜單中找到“Microsoft Visual Studio 2008”-->“Visual Studio Tools”-->“Visual Studio 2008 命令提示”,右鍵“以管理員身份運行”。
在命令行中輸入以下命令:
復制代碼 代碼如下:

Setting environment for using Microsoft Visual Studio 2008 x86 tools.
C:/Windows/system32>installutil /logfile d:/wsinstalltest.exe

5、當出現以下文字的時候就表明安裝成功了
復制代碼 代碼如下:

安裝成功提示信息
Microsoft (R) .NET Framework 安裝實用工具版本 2.0.50727.5420
版權所有(C) Microsoft Corporation。保留所有權利。
正在運行事務處理安裝。
正在開始安裝的“安裝”階段。
查看日志文件的內容以獲得 d:/wsinstalltest.exe 程序集的進度。
該文件位于 。
正在安裝程序集“d:/wsinstalltest.exe”。
受影響的參數是:
logtoconsole =
assemblypath = d:/wsinstalltest.exe
logfile =
正在安裝服務 testme...
已成功安裝服務 testme。
正在日志 Application 中創建 EventLog 源 testme...
“安裝”階段已成功完成,正在開始“提交”階段。
查看日志文件的內容以獲得 d:/wsinstalltest.exe 程序集的進度。
該文件位于 。
正在提交程序集“d:/wsinstalltest.exe”。
受影響的參數是:
logtoconsole =
assemblypath = d:/wsinstalltest.exe
logfile =
“提交”階段已成功完成。
已完成事務處理安裝。
C:/Windows/system32>

可以進入“服務”程序中查看剛才安裝的服務已經安裝好了。
6、備注:
運行“sc start testme”啟動服務;
運行“sc stop testme”停止服務;
運行“sc delete testme”刪除服務。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产91久久久久久| 国产视频久久网| 国产成人精品在线| 在线观看国产精品淫| 久久躁日日躁aaaaxxxx| 欧美性xxxxxx| 色99之美女主播在线视频| 91久热免费在线视频| 欧美成人免费观看| 操日韩av在线电影| 日韩最新在线视频| 91精品国产免费久久久久久| 欧美日韩国产中文字幕| 91精品国产乱码久久久久久久久| 国模视频一区二区三区| 中文精品99久久国产香蕉| 久久久免费精品| 2018日韩中文字幕| 日韩有码在线播放| 国产一区二区在线播放| 亚洲成色777777在线观看影院| 久久999免费视频| 亚洲欧美激情视频| 国产成人精品优优av| 欧美日韩国产精品| 欧美xxxx18国产| 国产一区深夜福利| 国内精品久久久久久中文字幕| 久久久久久综合网天天| 欧美在线视频一区二区| 亚洲人成网在线播放| 亚洲大胆人体av| 欧美日韩中文在线| 成人在线精品视频| 欧美精品在线免费| 亚洲成在人线av| 国产精品一区二区久久精品| 国产中文日韩欧美| 亚洲精品影视在线观看| 亚洲成人教育av| 色综合男人天堂| 日韩欧美中文在线| 精品国产乱码久久久久久婷婷| 国产成人精品在线播放| 岛国av在线不卡| 久久久久久久久中文字幕| 91影院在线免费观看视频| 疯狂欧美牲乱大交777| 日韩午夜在线视频| 亚洲区免费影片| 在线看片第一页欧美| 国内精品免费午夜毛片| 丝袜亚洲另类欧美重口| 黑人巨大精品欧美一区二区免费| 日韩av手机在线观看| 国产精品成人av性教育| 亚洲精品久久久久久下一站| 一区二区三区视频免费| 日韩av一区在线| 欧美成年人网站| 亚洲精品自拍视频| 亚洲精品免费在线视频| 在线丨暗呦小u女国产精品| 国产精品视频永久免费播放| 久久久精品在线| 色偷偷偷综合中文字幕;dd| 国产亚洲成av人片在线观看桃| 亚洲а∨天堂久久精品喷水| 亚洲大尺度美女在线| 久久久久久久久91| 欧美日韩中文在线| 免费成人高清视频| 国产精品影院在线观看| 亚洲第一精品自拍| 亚洲影院污污.| 国产精品人人做人人爽| 国产精品久久婷婷六月丁香| 欧美精品少妇videofree| 欧美成人合集magnet| 亚洲小视频在线观看| 久久久久久高潮国产精品视| 国产精品中文字幕在线| 国产91在线播放九色快色| 欧美刺激性大交免费视频| 68精品国产免费久久久久久婷婷| 色老头一区二区三区| 日韩免费在线免费观看| 日韩视频免费看| 日韩av电影国产| 亚洲福利视频免费观看| 成人在线视频网| 中文字幕无线精品亚洲乱码一区| 欧美乱大交xxxxx另类电影| 欧美日韩国产精品一区二区三区四区| 欧美黄色三级网站| 国产一区二区三区久久精品| 色哟哟亚洲精品一区二区| 欧美孕妇毛茸茸xxxx| 精品国产成人在线| 一区二区av在线| 自拍偷拍亚洲精品| 久久人人看视频| 97精品国产97久久久久久| 热re99久久精品国产66热| 国产91精品久久久久久| 亚洲人成在线播放| 久久久久久国产| 国产精品自拍偷拍视频| 亚洲在线观看视频网站| 78m国产成人精品视频| 国产精品狼人色视频一区| 另类天堂视频在线观看| 欧美日韩在线免费观看| 亚洲精品在线看| 日本久久精品视频| 国产成人在线一区二区| 庆余年2免费日韩剧观看大牛| 亚洲精品乱码久久久久久按摩观| 日本精品免费一区二区三区| 成人av在线网址| 中文字幕9999| 中文字幕日韩专区| 久久成人一区二区| 亚洲欧美另类自拍| 91精品国产高清自在线| 亚洲精品成人免费| 在线视频中文亚洲| 黑人巨大精品欧美一区二区免费| 最新亚洲国产精品| 97视频免费在线看| 国产精品青草久久久久福利99| 欧美激情第一页xxx| 在线视频精品一| 亚洲精品成人久久| 亚洲欧美www| 亚洲老头老太hd| 成人免费网站在线观看| 久久久国产一区二区| 亚洲影视九九影院在线观看| 91视频九色网站| 日本久久久久久久久| 日韩精品在线视频美女| 午夜精品在线视频| 永久免费毛片在线播放不卡| 欧美专区福利在线| 久久久91精品| 欧美精品www在线观看| 国产精品 欧美在线| 国产精品视频免费在线| 啪一啪鲁一鲁2019在线视频| 色午夜这里只有精品| 91精品在线一区| 欧美视频在线视频| 欧美高清性猛交| 亚洲国产天堂久久国产91| 日韩a**站在线观看| 麻豆国产va免费精品高清在线| 91av网站在线播放| 欧美激情区在线播放| 日韩成人在线免费观看| 国产精品久久久久av免费| 国产成人综合亚洲| 国产精品一久久香蕉国产线看观看| 亚洲人成在线观看网站高清|