我使用以下代码自行安装Windows服务(此代码位于Program.cs中)。当我使用" servicename.exe - install"服务安装得很好,但是有些安装日志会被遗忘。 servicename.InstallLog和InstallUtil.InstallLog。有没有办法完全禁用这些文件的记录?
if (Environment.UserInteractive)
{
string parameter = string.Concat(args);
switch (parameter)
{
case "--install":
ManagedInstallerClass.InstallHelper(new[] { Assembly.GetExecutingAssembly().Location });
break;
case "--uninstall":
ManagedInstallerClass.InstallHelper(new[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
else
{
ServiceBase[] servicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(servicesToRun);
}
答案 0 :(得分:1)
ManagedInstallerClass.InstallHelper
处理Installutil.exe(安装程序工具)的功能(请参阅https://msdn.microsoft.com/en-us/library/system.configuration.install.managedinstallerclass(v=vs.110).aspx)。根据文档(https://docs.microsoft.com/en-us/dotnet/framework/tools/installutil-exe-installer-tool)
您可以尝试更改此类InstallHelper
参数以禁用日志。似乎工作正常:
string parameter = string.Concat(args);
switch (parameter)
{
case "--install":
ManagedInstallerClass.InstallHelper(new[] { "/LogFile=", "/LogToConsole=true", Assembly.GetExecutingAssembly().Location});
break;
case "--uninstall":
ManagedInstallerClass.InstallHelper(new[] { "/u", "/LogFile=", "/LogToConsole=true", Assembly.GetExecutingAssembly().Location });
break;
}