2010-02-05 2 views
48

Tôi đã phát triển dịch vụ cửa sổ bằng C#, studio hình ảnh 2008. Tôi đã cài đặt Windows xp sp2 trên máy của mình. Khi tôi cố gắng cài đặt dịch vụ bằng cách sử dụng công cụ installutil, sau khi nhập tên người dùng và mật khẩu, tôi nhận được lỗi sau.Lỗi khi cài đặt dịch vụ Windows được phát triển trong .Net

Đã xảy ra ngoại lệ trong giai đoạn Cài đặt. System.ComponentModel.Win32Exception: Tên tài khoản không hợp lệ hoặc không tồn tại hoặc mật khẩu không hợp lệ đối với tên tài khoản được chỉ định.

Nhưng người dùng không tồn tại. Tôi đã tạo người dùng thông qua bảng điều khiển-> tài khoản người dùng-> tạo tài khoản mới. Lệnh tôi đã sử dụng để cài đặt dịch vụ là installutil/i TestService.exe

Tôi không thể giải quyết vấn đề.

Cảm ơn trước

Sambha

Trả lời

98

Nếu tài khoản này là một tài khoản người dùng cục bộ, cố gắng sử dụng .\username khi installutil nhắc nhở cho username và mật khẩu.

.\ là viết tắt của máy địa phương.

Dịch vụ yêu cầu tên người dùng đủ điều kiện (có miền), vì vậy khi cài đặt, bạn cần phải rõ ràng về tài khoản người dùng cục bộ.

+4

Cảm ơn bạn rất nhiều. Nó đã làm việc. – Sambha

+0

Tôi nhận ra câu hỏi này là một câu hỏi cũ, nhưng cảm ơn rất nhiều! Đã không nghĩ về điều đó. – Vivelin

3

Tài khoản cũng có thể cần phải được cấp quyền "Đăng nhập với tư cách dịch vụ" ngay; chuyển hằng số SE_SERVICE_LOGON_NAME tới API LsaAddAccountRights().

1

Tôi đã giải quyết vấn đề này bằng cách thay đổi ServiceProcessInstaller.Account thành LocalSystem. và công trình của nó cho tôi.

+1

đây không phải là câu trả lời ... Có vẻ như một nhận xét –

+0

thay đổi tài khoản amy không phải là giải pháp tốt nhất, nhưng đó là câu trả lời không chỉ là "nhận xét" – Brian

+1

Đây không phải là cách tiếp cận được đề xuất. Hệ thống cục bộ có các đặc quyền mở rộng trên máy tính; nó tương tự như một Adminstrator. Xem [câu trả lời này] (http://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-acco) để biết tổng quan về các tài khoản tích hợp . –