我有一个 NT 服务,它有一些性能计数器。当我使用 installutil 部署服务时,性能计数器和服务安装正常。当我使用使用 ServiceInstall 的 msi 进行部署时,会显示该服务,但未安装性能计数器。
我总是假设 ServiceInstall 在幕后运行 installutil。是否有一些关键的区别会阻止我安装性能计数器?
蜡段
<ServiceInstall Id='ServiceInstall' ErrorControl='ignore' Type='ownProcess' DisplayName='Service' Description='service' Name='Service' Start='auto' Account='[SERVICEACCOUNT]' Password='[SERVICEACCOUNTPASSWORD]' />
<ServiceControl Id='Service' Remove='uninstall' Name='Service' Start='install' Stop='both' Wait='yes' />
性能计数器安装
[RunInstallerAttribute(true)]
[RegistryPermissionAttribute(SecurityAction.LinkDemand, Unrestricted = true)]
[EnvironmentPermissionAttribute(SecurityAction.InheritanceDemand, Unrestricted = true)]
public sealed class CountersInstaller : Installer
{
public CountersInstaller()
{
Installers.AddRange(Counters.Instance.PerformanceCounterInstallers());
}
}