Tôi muốn cài đặt dịch vụ Windows bằng dấu nhắc lệnh Windows (không phải dấu nhắc lệnh của Visual Studio).
Làm thế nào để tôi làm điều này?
Tôi muốn cài đặt dịch vụ Windows bằng dấu nhắc lệnh Windows (không phải dấu nhắc lệnh của Visual Studio).
Làm thế nào để tôi làm điều này?
Câu trả lời:
Điều hướng đến installutil.exe trong thư mục .net của bạn (ví dụ: .net 4 là C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) và sử dụng nó để cài đặt dịch vụ của bạn, như thế này:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
Không có gì sai với lệnh SC Tạo. Chỉ cần bạn biết các đối số chính xác:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
lệnh nhưng nó có gì đó khác biệt, không thể được sử dụng để đăng ký dịch vụ.
Nếu tên thư mục có khoảng trắng như thế c:\program files\abc 123
, thì bạn phải sử dụng dấu ngoặc kép quanh đường dẫn.
installutil.exe "c:\program files\abc 123\myservice.exe"
Nó làm cho mọi thứ dễ dàng hơn nhiều nếu bạn thiết lập một tập tin bat như sau,
ví dụ: Để cài đặt dịch vụ, hãy tạo "myserviceinstaller.bat" và " Chạy với tư cách quản trị viên "
@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause
để gỡ cài đặt dịch vụ,
Chỉ cần thêm một -u vào lệnh installutil.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
Thực hiện như sau:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
Điều quan trọng là phải mở bằng quyền quản trị nếu không bạn có thể thấy các lỗi phát sinh không có ý nghĩa. Nếu bạn nhận được bất kỳ, hãy kiểm tra bạn đã mở nó với quyền quản trị viên trước!
Để mở bằng quyền quản trị , nhấp chuột phải vào 'Dấu nhắc lệnh' và chọn 'Chạy với tư cách quản trị viên'.
Cài đặt dịch vụ: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Dịch vụ UnInstall: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Tôi phải thêm một điểm nữa trong chủ đề này. Để cài đặt / gỡ cài đặt 64-bit
phiên bản lắp ráp, người ta nên sử dụng 64-bit
phiên bản công cụ. Để cài đặt một dịch vụ, lệnh phải là:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
và để gỡ cài đặt lệnh nên là:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Tạo một *.bat
tập tin bên cạnh cửa sổ dịch vụ của bạn exe
tập tin để cài đặt với bối cảnh sau đây:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Tạo một *.bat
tập tin bên cạnh cửa sổ dịch vụ của bạn exe
tập tin cho gỡ bỏ cài đặt với bối cảnh sau đây:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Chạy từng bat
tệp với tư cách Quản trị viên để cài đặt hoặc gỡ cài đặt dịch vụ windows của bạn.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
để đi đến thư mụcinstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Lưu ý: Để gỡ cài đặt:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Mở Visual studio và chọn dự án mới bằng cách chọn Windows Service
mẫu trong Windows Desktop
tab. Hơn sao chép mã sau vào tệp service_name.cs của bạn.
using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
public partial class Timer_Service : ServiceBase
{
public Timer_Service()
{
InitializeComponent();
}
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Timer_Service service = new Timer_Service();
service.OnStart(null);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Timer_Service()
};
ServiceBase.Run(ServicesToRun);
}
}
protected override void OnStart(string[] args)
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
}
protected override void OnStop()
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
}
}
}
Nhấp chuột phải vào tệp service_name.cs và thiết kế mở dịch vụ. nhấp chuột phải và chọn Add Installer
. hơn nhấp chuột phải vào serviceProcessInstaller1
và thay đổi giá trị tài sản của Account
từ User
để Local System
.
Xóa static void main
phương thức khỏi Program.cs
tập tin. Hơn tiết kiệm và Xây dựng dự án của bạn.
LƯU Ý:bin\Ddebug
thư mục goto của thư mục dự án của bạn. Hơn mở thuộc tính của service_name.exe
tập tin của bạn . Hơn Compatibility
tab goto . Hơn bấm vào Change Settings For All Users
.
Chọn tùy chọn Run this program as an administrator
.
Bây giờ, bạn phải mở CommandPromt với tư cách Quản trị viên. Sau khi mở, đặt thư mục đến nơi InstallUtil.exe
tệp của bạn được đặt. ví dụ : C:\Windows\Microsoft.NET\Framework64\v4.0.30319
. Bây giờ viết lệnh sau:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Lưu ý: -i là để cài đặt dịch vụ anh ấy và -u cho Unsinstall.
sau khi tôi đặt đường dẫn ghi nơi bạn muốn cài đặt dịch vụ của mình.
Bây giờ hãy viết lệnh trong CommandPromt như sau:
C:\TimerService\TimerService\bin\Debug>net start service_name
Lưu ý: sử dụng stop
để dừng Dịch vụ.
Bây giờ, mở ViewEventLog.exe
. Chọn Nhật ký Windows> Ứng dụng. Ở đó bạn có thể kiểm tra nhật ký dịch vụ của mình bằng cách bắt đầu và dừng dịch vụ.
Nếu bạn đang sử dụng Powershell và bạn muốn cài đặt dịch vụ .NET, bạn có thể sử dụng Cài đặt dịch vụ mô-đun . Nó là một trình bao bọc cho công cụ InstalUtil.
Nó lộ ra 3 lệnh
Mã cho mô-đun này có thể được xem tại đây
đoạn mã sau, cài đặt và gỡ cài đặt Dịch vụ,
Mở dấu nhắc lệnh và chạy chương trình với tư cách quản trị viên và kích hoạt lệnh bên dưới và nhấn enter.
Cú pháp
Để cài đặt
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
ví dụ: Đường dẫn của chúng tôi InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Để gỡ cài đặt
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
ví dụ: đường dẫn của chúng tôi InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
để được trợ giúp thêm, bạn có thể xem liên kết sau: chương trình mẫu
Bỏ các bước khi triển khai Dịch vụ Windows, không mất thời gian
1- Chạy lệnh nhắc bởi quyền Admin
2- Đảm bảo về chế độ phát hành khi biên dịch trong IDE của bạn
3- Cung cấp một loại cho trình cài đặt dự án của bạn trên quan điểm thiết kế
4- Chọn loại xác thực theo trường hợp
5- Đảm bảo về sự phụ thuộc phần mềm: Nếu bạn đang sử dụng chứng chỉ, hãy cài đặt chính xác
6- Đi giao diện điều khiển của bạn viết này:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
có một đối số ẩn -i trước đường dẫn exe -i c:\
bạn có thể sử dụng -u
để gỡ cài đặt
7- Nhìn đường dẫn .exe của bạn để có vẻ như tệp nhật ký. Bạn có thể sử dụng trình xem sự kiện để quan sát trong tính năng
mở dấu nhắc lệnh Nhà phát triển với tư cách Quản trị viên và điều hướng đến
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Bây giờ sử dụng đường dẫn của bạn .exe
ở đó
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
khi phiên bản lắp ráp của bạn và dự án Visual studio Biuld của bạn cài đặt trên dot net 2 hoặc 4 cài đặt cùng một phiên bản.
cài đặt dịch vụ với installutil
cùng phiên bản đó
nếu xây dựng trong dot net 4
Kiểu c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
nếu xây dựng trong dot net 2
Kiểu c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
1. Từ menu Bắt đầu, chọn thư mục Visual Studio, sau đó chọn Dấu nhắc lệnh dành cho nhà phát triển cho VS.
2. Dấu nhắc lệnh dành cho nhà phát triển cho Visual Studio xuất hiện.
3. Truy cập thư mục chứa tệp thực thi được biên dịch của dự án của bạn.
4.Run InstallUtil.exe từ dấu nhắc lệnh với tệp thực thi dự án của bạn làm tham số
Bạn nên mở dấu nhắc lệnh, đi đến
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Mở dấu nhắc lệnh với tư cách quản trị viên, đi đến Thư mục nơi bạn .exe
cư trú. Để cài đặt Exe
như dịch vụ
D:\YourFolderName\YourExeName /i
Để gỡ cài đặt sử dụng /u
.