2012-01-23 41 views
6

Tôi đang chạy dịch vụ Windows khởi động một tệp dơi đơn giản trong khi khởi động, nhưng dịch vụ sẽ không bắt đầu. Nếu tôi thử chạy nó theo cách thủ công từ GUI dịch vụ, tôi nhận được thông báo lỗi sau.Tệp bat Windows 7 không bắt đầu dưới dạng dịch vụ

Lỗi 1053: dịch vụ không đáp ứng với sự khởi đầu hoặc kiểm soát yêu cầu một cách kịp thời

này có vẻ là một lỗi phổ biến trong quá trình startup dịch vụ, tuy nhiên tôi không tìm thấy vấn đề tương tự trong các câu trả lời khác. Tôi tạo ra các dịch vụ từ dòng lệnh với lệnh sau

C:\Users\Administrator>sc create service_name binpath= c:\service.bat start= auto 
[SC] CreateService SUCCESS 

Sau đó, tôi chạy nó với

C:\Users\Administrator>sc start service_name 

Tuy nhiên, tôi nhận được thông báo lỗi:

[SC] StartService FAILED 5:

Quyền truy cập bị từ chối.

Nếu tôi chạy nó từ dấu nhắc lệnh với tư cách quản trị viên, tôi không nhận được thông báo từ chối truy cập, nhưng tôi nhận được lỗi 1053. Tôi cho rằng chạy một tập tin bat như một dịch vụ Windows không phải là khó khăn. Bất kỳ ý tưởng?

+0

Bạn không thể chạy tệp hàng loạt dưới dạng các dịch vụ như vậy, vì CoreTech cho biết bạn sẽ cần trình bao bọc để chạy đúng. –

Trả lời

7

Bạn gặp lỗi đầu tiên vì tệp lô của bạn không thể thương lượng/tương tác với hệ thống con Dịch vụ Windows. Khi Windows khởi động Dịch vụ, HĐH sẽ đợi vài giây để Dịch vụ báo cáo đã bắt đầu đúng cách. Nếu tín hiệu này không bao giờ đến (như với tệp lô của bạn, không biết gì về Dịch vụ), Windows sẽ báo cáo lỗi # 1053.

Bạn sẽ cần ứng dụng "trình bao bọc" để chạy tệp lô của bạn dưới dạng dịch vụ. Các free "SRVANY" utility from Microsoft có thể làm việc cho bạn nhưng bạn nên điều tra các lựa chọn thay thế thương mại đầy đủ tính năng hơn là tốt.

+0

'srvany' hoạt động tốt cho các trường hợp như vậy –

+1

Điều đó dường như là vấn đề. Nó hoạt động tốt với srvany và instsrv trong dòng lệnh cho c: \ Tools \ instsrv.exe myservice c: \ Tools \ srvany.exe. Đầu tiên các tập tin bat cần thiết để được biên dịch thành exe và sau đó 2 thay đổi để đăng ký dịch vụ (HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> services> myservice) giá trị thông qua regedit. Tôi đã thêm khóa mới có tên Parameters with String values ​​AppDirectory và Application với các giá trị c: \ mypath và c: \ mypath \ mybat.exe. Với những thay đổi đó, nó hoạt động ngay bây giờ. Cảm ơn rất nhiều vì đã giúp :) – BFinn

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