Làm cách nào để tạo exe thành dịch vụ trên Windows?


4

Gần đây tôi đã làm một ứng dụng có nhiều phần. Một trong những phần là một công cụ mạng - nó luôn bắt đầu với HĐH và nó không bao giờ hiển thị bất kỳ loại thông báo nào. Tuy nhiên, nó bắt đầu một giao diện điều khiển cực kỳ khó chịu, không thể thoát khỏi mà không đóng chương trình (vui lòng chỉ chấp nhận giao diện này như đã cho). Tôi đã quyết định giải quyết vấn đề này bằng cách bắt đầu chương trình (đó là một*.exe) như một dịch vụ, do đó ngăn chặn nó hiển thị ở tất cả. Vì ứng dụng sẽ được phân phối cho các máy tính khác nhau (do đó cần có một công cụ mạng ngay từ đầu). Tôi cần một cách để cài đặt chương trình này như một dịch vụ (vì vậy, tôi thực sự không muốn câu trả lời cho tôi biết qua một loạt các menu trên Bảng điều khiển hoặc tải xuống ứng dụng của bên thứ 3 phải ở trên bất kỳ máy tính nào dịch vụ sẽ chạy trên). Tôi có thể làm cái này như thế nào?


2
Bạn không thể lấy exe và chạy nó như một dịch vụ. Nó phải thực hiện giao diện mà người quản lý dịch vụ Windows mong đợi. Bạn sẽ phải mã hóa lại ứng dụng của mình nếu không sẽ sử dụng ứng dụng của bên thứ ba. Hãy thử thực hiện tìm kiếm để tạo một dịch vụ Windows bằng bất kỳ môi trường phát triển nào bạn đã sử dụng để tạo exe.
shf602

Câu trả lời:


4

Trong Bộ tài nguyên Windows NT, Microsoft cung cấp một công cụ được gọi là srvanysẽ chạy .exenhư một dịch vụ. Một công cụ hoạt động tốt hơn đó là Trình quản lý dịch vụ không hút (nssm) .

Tôi đã sử dụng nssm để biến một giao diện điều khiển python có thể thực thi đó là một máy chủ web thành một dịch vụ chạy khi hệ thống khởi động thành công.


Và điều này là OK để sử dụng? Tôi cho rằng tôi phải bao gồm NSSM trong gói trình cài đặt và cài đặt như một dịch vụ từ đó, vì vậy tôi chỉ muốn đảm bảo rằng tác giả không quan tâm. Tôi cho là không, vì không có EULA ...
user3677994

Tôi sẽ liên hệ với tác giả để có quyền phân phối lại thương mại nếu đó là ý bạn, tôi chỉ sử dụng nó cho mục đích cá nhân. Tôi chỉ nhận thấy trong câu hỏi của bạn, bạn nói rằng bạn muốn một cái gì đó mà không có chương trình bên thứ 3 tham gia nhưng thật không thể, thật không may.
LawrenceC

Được rồi. Đây là lựa chọn tốt nhất mà tôi từng gặp cho đến nay ...
user3677994

0

Microsoft đã biên soạn các bước để tạo một Dịch vụ Windows và cài đặt nó trên một máy tính từ xa tại trang này . Có quá nhiều bước để phác thảo ở đây. Có các liên kết bổ sung để hỗ trợ bạn với các vấn đề tiềm năng.


0

Có nhiều công cụ của bên thứ ba để chạy Windows thực thi bình thường như một dịch vụ.

Bitsum là tác giả của một tiện ích như vậy, chỉ dòng lệnh, được gọi là MakeService (hiện được phân phối hạn chế do lạm dụng).

Họ có thể làm điều này bằng cách sử dụng một cuống dịch vụ để khởi chạy Windows thực thi bình thường. Sơ khai dịch vụ đó sau đó có thể kiểm soát quá trình khởi chạy khi cần thiết để đáp ứng các lệnh dịch vụ bắt đầu, dừng, v.v.

Tuy nhiên, nếu ứng dụng của bạn có bất kỳ tương tác nào với người dùng, thì bạn sẽ gặp phải sự cô lập phiên dịch vụ hệ thống trong NT6 +.

Thật đáng buồn khi chúng tôi phải ngừng tải xuống ngay lập tức tiện ích phần mềm miễn phí này, nhưng chúng tôi vẫn sẽ phân phối nó cho những người có nhu cầu chính đáng. Nó có sẵn trong bản gốc 32 bit và 64 bit x86.

Tôi chắc chắn có các tiện ích tương tự khác, bao gồm srvany.exe của Microsoft trong Bộ tài nguyên Windows, như câu trả lời được chấp nhận khuyến nghị. Nó thực hiện tương tự như MakeService của chúng tôi đã làm / không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.