2009-01-20 38 views
48

Có thể triển khai Dịch vụ Windows bằng ClickOnce không? Nếu vậy, làm thế nào để bạn đạt được điều này?ClickOnce triển khai Dịch vụ Windows?

Hiện tại chúng tôi phải sử dụng dự án Triển khai và quá trình cài đặt có thể được đơn giản hóa rất nhiều bằng cách sử dụng ClickOnce.

Trả lời

-9

Bạn có thể sử dụng triển khai ClickOnce để cài đặt dịch vụ cửa sổ. Tuy nhiên, trong kinh nghiệm của tôi mỗi lần cập nhật được ban hành, sự can thiệp của người dùng là bắt buộc và thường phá vỡ lý do để chương trình chạy như một dịch vụ windows.

Tuy nhiên, một vấn đề mà tôi chưa bao giờ làm việc hoàn toàn cho dịch vụ cửa sổ, đang chạy installutil.exe để cài đặt dịch vụ vào danh sách dịch vụ Windows. Nhưng đó không phải là vấn đề trong hoàn cảnh mà tôi triển khai.

28

AFAIK bạn không thể thực sự sử dụng ClickOnce end-to-end để triển khai dịch vụ; có vấn đề với cả hai vị trí tập tin (ClickOnce cài đặt vào hồ sơ của người dùng) và cài đặt (ClickOnce là phần lớn tác dụng phụ miễn phí).

Tuy nhiên, bạn có thể viết dịch vụ dưới dạng exe có thể tự cài đặt/gỡ cài đặt từ danh sách dịch vụ, like so; về cơ bản, bạn viết nó như là một giao diện điều khiển exe và xử lý một số dòng lệnh args, sử dụng AssemblyInstaller để [un] cài đặt từ assembly hiện tại. Một ưu điểm khác là cách tiếp cận tương tự có thể được sử dụng để giúp gỡ lỗi, vì bạn có thể chạy nó từ dòng lệnh.

+6

Bạn có thể muốn kiểm tra dự án Topshelf dưới dạng trình bao bọc giúp bạn dễ dàng truy cập các tính năng mở rộng như tự cài đặt/gỡ cài đặt. http://topshelf-project.com/ –

1

Thay vì ClickOnce, tôi muốn sử dụng cách tiếp cận sử dụng Inno Setup, như ở đây https://stackoverflow.com/a/1450051/396200

Bạn có quyền kiểm soát nhiều hơn những gì và làm thế nào sẽ được sao chép và thực thi.

Như Marc Gravell đã nói trong câu trả lời của mình, tôi tạo một exe tự cài đặt dịch vụ của mình và sau đó sử dụng Inno Setup để đóng gói và triển khai nó. Sau khi cài đặt Inno, nó sẽ tự động chạy exe và sau đó exe của tôi cài đặt dịch vụ của tôi.

+0

HAHAHAHA. Pascal scripting?!?! Người viết trong Borland Delpli?!?!? Oh boy ....: D Điều đó làm cho ngày của tôi. Cảm ơn ngài. – MoonStom

Các vấn đề liên quan