您的位置:首页 > 编程语言 > C#

C# 实现安装C#写的系统服务 不依赖InstallUtil

2017-11-16 13:52 459 查看
反编译的 InstallUtil  

/// <summary>
/// 安装服务
/// using System.Configuration.Install
/// </summary>
/// <param name="AssemblyFile">程序集</param>
/// <param name="Install">true 安装 false 卸载</param>
public void InstallServer(String AssemblyFile,Boolean Install = true)
{
TransactedInstaller transactedInstaller = new TransactedInstaller();
List<String> arrayList = new List<String>();
Assembly assembly = null;
//arrayList.Add("/LogToConsole=false");
//XXServer, Version=3.425.2015.320, Culture=neutral, PublicKeyToken=null
if (AssemblyFile.Contains("Version") && AssemblyFile.Contains("Culture") && AssemblyFile.Contains("PublicKeyToken"))
{
assembly = Assembly.Load(AssemblyFile);
}
else
{
assembly = Assembly.LoadFrom(AssemblyFile);
}
AssemblyInstaller value = new AssemblyInstaller(assembly, arrayList.ToArray());
transactedInstaller.Installers.Add(value);
transactedInstaller.Context = new InstallContext("log.txt", arrayList.ToArray());
try
{
IDictionary stateSaver = new Hashtable();
transactedInstaller.Install(stateSaver);
transactedInstaller.Uninstall(null);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: