我正在尝试使用以下命令安装我使用的Windows服务:
C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug> InstallU til.exe filechecker.exe
但我收到以下消息:
运行事务安装。
开始安装的安装阶段。 请参阅日志文件的内容以获取C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.exe程序集的进度。 该文件位于C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog。
安装阶段发生异常。 System.ArgumentException:必须指定source的值。
安装的回滚阶段正在开始。 请参阅日志文件的内容以获取C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.exe程序集的进度。 该文件位于C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog。
回滚阶段已成功完成。
已完成交易安装。
运行事务安装。
开始安装的安装阶段。 请参阅日志文件的内容以获取C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.exe程序集的进度。 该文件位于C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog。
安装阶段发生异常。 System.ArgumentException:必须指定source的值。
安装的回滚阶段正在开始。 请参阅日志文件的内容以获取C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.exe程序集的进度。 该文件位于C:\ $(MyFiles)\ Projects \ Win Service \ c#\ filechecker \ filechecker \ bin \ Debug \ filechecker.InstallLog。
回滚阶段已成功完成。
已完成交易安装。
我该如何解决这个问题?
答案 0 :(得分:12)
ServiceInstaller
始终 1 会创建一个事件日志源,并将Source
名称设置为ServiceName
。该错误告诉我您没有在ServiceName
实例上设置ServiceInstaller
(尽管我希望有更好的错误)。
1 除非您手动迭代其安装程序集合并将其删除,否则在实例化之后。您还必须确保关闭所有自动日志记录和/或使用相同的源名称手动添加自己的EventLogInstaller
- 如果您希望从服务中进行所有日志记录(包括自动日志记录),这将非常有用)去应用程序事件日志其他的某个地方。