Tôi đã tạo một dịch vụ cửa sổ và cài đặt nó, tôi đã tạo dự án triển khai và cài đặt nó. Sau khi cài đặt tôi nhìn nó. Nó đã bắt đầu thành công.lỗi trong khi cài đặt dịch vụ cửa sổ System.Security.SecurityException
Ngày hôm sau tôi đã thực hiện một số sửa đổi và xây dựng lại và cài đặt lại nhưng hiện tại không cài đặt.
Sau đó, tôi nghĩ vấn đề của nó với trình cài đặt, cho phép tạo trình cài đặt tùy chỉnh cho dịch vụ để bất cứ lúc nào tôi có thể cập nhật mã của mình.
Tôi đã tạo nó giống như trường hợp này nếu có ai cần điều này trong tương lai.
public class MyInstaller : Installer
{
ServiceProcessInstaller spi;
ServiceInstaller si;
public MyInstaller()
{
spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
si = new ServiceInstaller();
si.StartType = ServiceStartMode.Manual;
si.ServiceName = "MyService";
si.DisplayName = "My Service";
si.Description = "service installed from command line";
this.Installers.Add(spi);
this.Installers.Add(si);
}
}
Tôi gọi nó từ phương pháp chính bằng cách kiểm tra tham số args.
case "-i":
case "-install":
ti = new TransactedInstaller();
mi = new MyInstaller();
ti.Installers.Add(mi);
string logPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\install.log";
ctx = new InstallContext(logPath, cmdline);
ti.Context = ctx; //.Context (ctx);
ti.Install(new Hashtable());
break;
Bây giờ khi tôi đang cố cài đặt. Tôi đã nhận lỗi System.Security.SecurityException: Không tìm thấy nguồn, nhưng một số hoặc tất cả nhật ký sự kiện không thể tìm kiếm được. Nhật ký không thể truy cập: Bảo mật.
Tôi google nó, và đến để biết dịch vụ sẽ cố gắng truy cập nhật ký ứng dụng trong khi cài đặt và ghi nhật ký ở đó.
Tôi không viết bất kỳ nhật ký sự kiện nào. Tôi có log4net để đăng nhập. Nhưng vẫn là hành vi mặc định của nó.
Làm cách nào để khắc phục sự cố này ngay bây giờ? Nó không được cài đặt ngay cả khi tôi có tất cả các quyền.
Cảm ơn
Tôi đã làm điều đó bằng cách sử dụng cntrl + shift + enter in run.Sau đó, một lần nữa tôi manaully phải bấm và chạy như admin và nó đã làm việc con người. cảm ơn những gì một sai lầm ngớ ngẩn tôi đang làm. nhưng tôi muốn biết cách cải thiện hiệu suất khởi động/dừng của dịch vụ cửa sổ. – sunder
@sunder: hiệu suất bắt đầu/dừng sẽ có * lot * để thực hiện những gì dịch vụ của bạn đang thực hiện. 'Bắt đầu' nên được OK vì thông thường bạn woud quay lên một sợi mới mà không làm việc. Để ngăn chặn bạn sẽ cần một số cách nhanh chóng để ngăn chặn những gì các chủ đề được lên đến. Vì vậy, không có cách chung để cải thiện hiệu suất. –
Tôi đã tạo một tệp lô (.BAT) để cài đặt dịch vụ và tôi đã chạy hàng loạt với tư cách quản trị viên nhưng nó không hoạt động. Sau đó, tôi chạy dấu nhắc lệnh là quản trị viên và cài đặt dịch vụ mà không có tệp BAT, chỉ cần gõ tên của tệp cài đặt EXE. Tôi không chắc tại sao điều này lại xảy ra nhưng có lẽ nó có thể giúp đỡ người khác. Tôi nghĩ rằng nó có thể liên quan đến thực tế là chạy một tập tin BAT như admin không phải là thực hiện mã bạn viết ở đó như là admin, chỉ cần các tập tin BAT. –