2010-04-08 47 views

Trả lời

41

bạn có thể làm điều đó với installUtil nằm trong thư mục khung .net (trên máy của tôi là C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727).

+4

Đối với dịch vụ .Net 4.5 của tôi, tôi đã phải sử dụng InstallUtil.exe nằm trong C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319. Khi tôi cố gắng sử dụng một trong thư mục v2.0.50727 tôi nhận được một lỗi nói rằng "Việc lắp ráp được xây dựng bởi một thời gian chạy mới hơn thời gian chạy hiện đang được nạp và không thể được nạp." – deadlydog

+0

@deadlydog Câu hỏi ban đầu liên quan đến .Net phiên bản 2, nhưng bạn chính xác rằng bạn cần sử dụng phiên bản 'installUtil' phù hợp với phiên bản khung mà dịch vụ được xây dựng cho. –

+0

@giorgi Nó sẽ phụ thuộc vào khung .Net bạn đặt dự án của bạn để nhắm mục tiêu. Nếu dự án của bạn nhắm mục tiêu .Net 4.0, nhưng máy chủ chỉ có .Net 3.5 được cài đặt, thì bạn sẽ không thể sử dụng installUtil cho nó, và thậm chí nếu bạn có thể cài đặt nó, nó sẽ không chạy. Máy chủ cần ít nhất phải có phiên bản .Net (hoặc cao hơn) mà dự án của bạn được đặt để nhắm mục tiêu. – deadlydog

1

Tôi đoán rằng bạn đang tìm kiếm chương trình "installutil.exe", chương trình được sử dụng để cài đặt Dịch vụ .NET Windows. Bạn có thể tìm thấy nó trong% windir% \ Microsoft.NET \ Framework \ v2.0.50727

2

Mở một dấu nhắc lệnh (cmd) và gõ

giúp sc

sc create

Thêm addutil installutil.exe bạn chuyên nghiệp bably nói về thực sự là chỉ trong thư mục .Net Framework. Các dấu nhắc lệnh của VS chỉ thiết lập một con đường tốt đẹp, nhưng bạn có thể khởi động nó từ (đường dẫn của tôi) C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 tốt.

2

Bạn không cần dấu nhắc lệnh Visual Studio 2008. Bạn cần InstallUtil.exe chương trình có thể được tìm thấy trong

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

Trên máy x64 cũng có một phiên bản 64-bit trong

C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727

Những directorie s rõ ràng chỉ khả dụng khi .NET được cài đặt.

2

Tất cả những gì đang làm là đặt các công cụ khung .Net vào PATH; bạn có thể đi vẫn sử dụng: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe bằng cách xác định đường dẫn đầy đủ về một dấu nhắc lệnh bình thường (rõ ràng điều chỉnh cho khung/kiến ​​trúc CPU của bạn)

1

Với hình ảnh dấu nhắc lệnh phòng thu:

installutil /i fullfilepathtoservice.exe 

Nếu không có visual studio command prompt :

C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe 

HTH.

3

Yep, installutil.exe hoạt động độc đáo, nhưng tôi đã mệt mỏi vì phải nhớ bắt đầu Visual Studio 2008 Command Prompt để sử dụng nó. Lúc nào, tôi sẽ mở một bàn điều khiển thông thường chỉ để nhận ra rằng vị trí installutil.exe không phải là một phần của đường dẫn.

May mắn thay, installutil.exe là trình bao bọc xung quanh một tập hợp các cuộc gọi phản chiếu. Từ MSDN,

Installutil.exe sử dụng phản ánh để kiểm tra việc lắp ráp theo quy định và tất cả Installer loại với RunInstallerAttribute set là true. Công cụ sau đó thực hiện Phương pháp Cài đặt hoặc Phương pháp Gỡ cài đặt trên mỗi kiểu của loại Installer.

Điều này có nghĩa là bạn có thể thêm mã vào dịch vụ Windows để cài đặt và gỡ cài đặt chính nó. Bằng cách đó, tôi không còn yêu cầu installutil.exe hoặc Visual Studio 2008 Command Prompt để chạy nó.

Tôi đã cung cấp hướng dẫn từng bước về cách thực hiện việc này here. Tùy chọn -install cài đặt dịch vụ Windows và khởi động nó. Ngược lại, tùy chọn -uninstall sẽ ngừng dịch vụ và gỡ cài đặt dịch vụ.

7

Bạn có thể cài đặt Windows Services làm MSI. Tạo MSI như một dự án bình thường gắn liền với dự án dịch vụ của bạn.

Trong dự án dịch vụ của bạn Tạo một lớp trình cài đặt và thêm các thành phần dịch vụInstaller và serviceProcessInstaller và cấu hình theo yêu cầu. Thêm đầu ra dự án từ dự án dịch vụ cho dự án MSI, thiết lập các hành động tùy chỉnh của dự án MSI để cài đặt, cam kết, khôi phục và gỡ cài đặt cho đầu ra của dự án dịch vụ.

Thay đổi dự án MSI theo bất kỳ cách nào khác như mong muốn, xây dựng MSI, sau đó bạn sẽ có thể cài đặt Dịch vụ của mình cho bất kỳ máy Windows nào mà không có VS.NET hoặc bằng ứng dụng tiện ích InstallUtil. MSI cũng sẽ xử lý Gỡ cài đặt, v.v.

Có các thuộc tính của thành phần ServiceProcessInstaller mà bạn có thể đặt cho Tài khoản để chạy Dịch vụ theo, serviceInstaller chứa các thuộc tính có thể được đặt như Tên dịch vụ. Bạn sẽ phải đặt ServiceName và Parent của nó, MSDN sẽ cung cấp thông tin tốt về cách sử dụng cả hai thành phần này.

Hy vọng điều này sẽ hữu ích.

Chúc mừng.

+0

"Đặt" hành động tùy chỉnh? – doug65536

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