Chỉ cần giải quyết cùng một vấn đề, sau nhiều lần gỡ cài đặt/khởi động lại. Tôi có thực hiện riêng của tôi về cài đặt dịch vụ (có nguồn gốc từ [System.Configuration.Install.Installer] [1]) ứng dụng, và tôi đã xác định EventLog như sau:
public ProjectInstaller()
{
InitializeComponent();
EventLogInstaller installer = FindInstaller(this.Installers);
if (installer != null)
{
installer.Log = "MyService";
}
}
Bạn có thể có tính năng tương tự thực hiện các sau cách ([MSDN: EventLog.CreateEventSource Method] [2]):
if(!EventLog.SourceExists("MySource"))
{
EventLog.CreateEventSource("MySource", "MyNewLog");
}
trong trường hợp của tôi, trong một số các cài đặt EventLog
được tạo thành công, nhưng trong quá trình gỡ bỏ cài đặt một cái gì đó đã đi sai, và EventLog không được gỡ bỏ (mặc dù nó không được hiển thị trong EventViewer
, nó vẫn còn hiện diện trong e). Vì vậy, lỗi "MyService đã tồn tại trên máy tính cục bộ", rõ ràng là lỗi về EventLog, không phải bản thân dịch vụ.
Bạn có thể thử làm như sau:
Tới Start menu và gõ regedit
. Thao tác này sẽ mở Registry Editor. Hãy cẩn thận với nó, nó luôn luôn được khuyến khích để sao lưu toàn bộ registry trước khi làm bất cứ điều gì (File -> Export), hoặc chỉ có các phím bạn đang về để chỉnh sửa/xóa. Mở Chỉnh sửa -> Tìm, nhập CIMediator và chỉ để lại Phím đã chọn. Tên dịch vụ của bạn sẽ xuất hiện như nhiều thời điểm quan trọng, trên địa điểm sau
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ eventlog \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ dịch vụ \ eventlog \ CIMediator,
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ CIMediator
Cố gắng xóa các phím. Nó làm việc cho tôi.
1 2
Perfect giải pháp. Tôi đã tìm thấy các khóa được tạo trong registry. Tôi chắc rằng tôi chưa cài đặt nó qua thư mục Project Bin. Tự hỏi làm thế nào nó đã tạo ra khóa registry mà không cần cài đặt. chỉ tò mò. Tuy nhiên, việc xóa các khóa hiện có đã giải quyết được sự cố của tôi. Cảm ơn bạn. –