Tôi có một dịch vụ đang chạy trong một hệ thống trong một số trường hợp. Tôi cần tìm DISPLAY_NAME
dịch vụ từ dịch vụ. Tôi đã thử ServiceBase.ServiceName
nhưng nó trả về (có thể) tên dịch vụ từ trình cài đặt dự án, ít nhất trong trường hợp này là vô ích.Cách tìm "Tên hiển thị" của dịch vụ trong .net?
Dịch vụ được cài đặt bởi installutil
với thông số /name=
.
Sửa
Tôi có một cách giải quyết dựa trên Imran Balouch câu trả lời. Tôi đọc tên trong trình cài đặt Me.Context.Parameters("name")
và ghi nó vào ImagePath
khoá con đăng ký và đọc nó bằng Environment.GetCommandLineArgs trong một dịch vụ.
Dịch vụ được cài đặt bởi installutil với tên được chỉ định. – IvanH
Nhưng bạn sẽ có thêm một projectinstaller trong dự án dịch vụ windows của bạn, phải không? –
Có, có một MultiProjectInstaller.vb. Vì vậy, một số giải pháp là để đọc/tên (nếu có thể và thiết lập nó). – IvanH