Tôi đã tạo dịch vụ C# bằng mẫu VS2005. Nó hoạt động tốt tuy nhiên mô tả của dịch vụ là trống trong applet điều khiển Windows Services.Cách tốt nhất để đặt mô tả dịch vụ cửa sổ tại .net
Trả lời
Tạo một ServiceInstaller và thiết lập mô tả
private System.ServiceProcess.ServiceInstaller serviceInstaller =
new System.ServiceProcess.ServiceInstaller();
this.serviceInstaller.Description = "Handles Service Stuff";
Ngoài ra bạn có thể, tạo ra một ServiceInstaller và trong cửa sổ thuộc tính của trình cài đặt dịch vụ bạn sẽ thấy một tài sản Mô tả bạn có thể thiết lập. Nếu bạn không muốn mã nó.
Tôi khá chắc chắn rằng tôi đã thử đặt mọi thuộc tính mô tả trong trình cài đặt dịch vụ và dịch vụ và không có tiện ích nào trong số đó có vẻ hoạt động. Có lẽ tôi đã bỏ lỡ cái này. –
Để làm rõ về cách thực hiện điều này mà không cần sử dụng mã:
Thêm một trình cài đặt dịch vụ cho dự án của bạn như đã mô tả ở đây: http://msdn.microsoft.com/en-us/library/ddhy0byf%28v=vs.80%29.aspx
Mở cài đặt (vd ProjectInstaller.cs) trong thiết kế lượt xem.
Nhấp một lần vào thành phần trình cài đặt dịch vụ (ví dụ: serviceInstaller1) hoặc nhấp chuột phải vào nó và chọn Thuộc tính.
Trong ngăn Thuộc tính, đặt Mô tả và/hoặc Tên hiển thị (đây cũng là nơi bạn đặt StartType, v.v.) Mô tả có lẽ là tất cả những gì bạn muốn thay đổi, mặc dù bạn muốn hiển thị một tên hiển thị có thể đọc được nhiều hơn một chút (cột đầu tiên trong Trình quản lý dịch vụ), bạn cũng có thể làm như vậy.
Nếu muốn, hãy mở tệp nhà thiết kế được tạo tự động (ví dụ: ProjectInstaller.Designer.cs) để xác minh rằng thuộc tính đã được đặt chính xác.
Xây dựng giải pháp và cài đặt bằng cách sử dụng
installutil.exe
hoặc các phương tiện khác.
Sau khi tạo dự án trình cài đặt dịch vụ trong VS2010, bạn cần thêm ghi đè vào phương thức cài đặt trong lớp do VS tạo ra để tạo mục đăng ký cho mô tả dịch vụ của bạn.
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;
using Microsoft.Win32;
namespace SomeService
{
[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
}
/// <summary>
/// Overriden to get more control over service installation.
/// </summary>
/// <param name="stateServer"></param>
public override void Install(IDictionary stateServer)
{
RegistryKey system;
//HKEY_LOCAL_MACHINE\Services\CurrentControlSet
RegistryKey currentControlSet;
//...\Services
RegistryKey services;
//...\<Service Name>
RegistryKey service;
// ...\Parameters - this is where you can put service-specific configuration
// Microsoft.Win32.RegistryKey config;
try
{
//Let the project installer do its job
base.Install(stateServer);
//Open the HKEY_LOCAL_MACHINE\SYSTEM key
system = Registry.LocalMachine.OpenSubKey("System");
//Open CurrentControlSet
currentControlSet = system.OpenSubKey("CurrentControlSet");
//Go to the services key
services = currentControlSet.OpenSubKey("Services");
//Open the key for your service, and allow writing
service = services.OpenSubKey("MyService", true);
//Add your service's description as a REG_SZ value named "Description"
service.SetValue("Description", "A service that does so and so");
//(Optional) Add some custom information your service will use...
// config = service.CreateSubKey("Parameters");
}
catch (Exception e)
{
throw new Exception(e.Message + "\n" + e.StackTrace);
}
}
}
}
http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.aspx
http://www.codeproject.com/KB/dotnet/dotnetscmdescription.aspx
- 1. Đặt Mô tả Dịch vụ Windows trong C++
- 2. Dịch vụ WiXCài đặt - cài đặt dịch vụ để chạy khi người dùng cửa sổ hiện tại
- 3. Sự cố khi cài đặt dịch vụ cửa sổ
- 4. sử dụng dịch vụ đơn nhất để gói dịch vụ cửa sổ trên linux
- 5. lỗi trong khi cài đặt dịch vụ cửa sổ System.Security.SecurityException
- 6. Cách tốt nhất cho dịch vụ .Net Windows để báo cáo lỗi cho người dùng
- 7. Cài đặt dịch vụ cửa sổ .net với thư mục lib
- 8. Dừng dịch vụ cửa sổ nhiều luồng
- 9. Cài đặt cửa sổ dịch vụ sử dụng lệnh Promt
- 10. Cách tốt nhất để xác thực cho dịch vụ web
- 11. Thay đổi mô tả quy trình java trong cửa sổ quản lý tác vụ
- 12. Cách kiểm tra xem dịch vụ cửa sổ có được cài đặt trong C#
- 13. Tôi làm cách nào để cài đặt dịch vụ cửa sổ lên máy không cài đặt Visual Studio?
- 14. Cách cài đặt dịch vụ windows từ dòng lệnh chỉ định tên và mô tả?
- 15. Cách tốt nhất để thử dịch vụ web java
- 16. Cách tốt nhất để viết một dịch vụ RESTful "client" trong .Net?
- 17. Tại sao chính xác tôi muốn sử dụng WSDL để mô tả một dịch vụ Web?
- 18. Tôi làm cách nào để chuyển xác thực cửa sổ cho dịch vụ web bằng jQuery?
- 19. Đang cố gắng để cài đặt cửa sổ dịch vụ ứng dụng tạo ra với C#
- 20. trong Qt, Làm cách nào để đặt cửa sổ là cửa sổ hiện tại?
- 21. Nơi tốt nhất để hiển thị cửa sổ mới trong Chế độ xem mô hình ViewModel
- 22. cửa sổ dịch vụ - tập tin cấu hình
- 23. Giao diện GUI và cửa sổ dịch vụ
- 24. Cách tốt nhất để tự động triển khai Dịch vụ Windows là gì?
- 25. Cách tốt nhất để gỡ lỗi chương trình Dịch vụ Windows trong Visual Studio 2008
- 26. không thể mở dịch vụ cửa sổ trên máy tính '.' trong ứng dụng cửa sổ
- 27. AppFabric 1.1 Caching (dịch vụ cửa sổ bị lỗi)
- 28. Chạy tập lệnh python dưới dạng dịch vụ cửa sổ
- 29. Bật cửa sổ bật lên từ dịch vụ
- 30. Mongodb, sharding và nhiều cửa sổ dịch vụ
Chỉ cần thêm vào đó, bạn cũng có thể thiết lập serviceInstaller.DisplayName = "đẹp hơn tên hiển thị"; – CapBBeard
exxelent. Tôi đã suy nghĩ một số mã hóa sẽ được requrired ah-la giải pháp này ... http://www.codeproject.com/KB/dotnet/dotnetscmdescription.aspx có lẽ điều này chỉ cần thiết cho VS2003? –