Điều bạn mô tả là dịch vụ hệ thống, không phải máy chủ COM. Một máy chủ COM được thiết kế để chạy dưới bất kỳ phiên chạy nó, không theo "phiên 0" (dịch vụ) hoặc bất kỳ phiên duy nhất. Nếu bạn cần một cái gì đó mà chỉ chạy dưới 1 phiên và có quyền truy cập toàn cầu vào mọi thứ khác, bạn nên sử dụng một dịch vụ Windows, không phải là một máy chủ COM.
Nếu bạn cần khía cạnh máy chủ COM vì lý do khác, nhưng muốn chia sẻ tài nguyên trên toàn cầu hoặc vẫn có "một quy trình" kiểm soát mọi thứ bạn cần làm ... bạn có thể kết nối máy chủ COM với dịch vụ của mình Phương pháp IPC bạn thích.
Ngoài ra, trong nhận xét của bạn, bạn nói "khi tôi chạy từ dòng lệnh" - nếu bạn chạy EXE từ dòng lệnh, nó không quan trọng nếu nó được đăng ký như một máy chủ COM hay không, nó chỉ chạy giống như bất kỳ ứng dụng EXE/ứng dụng nào khác - có nghĩa là nó chạy như bất kỳ người dùng nào bạn chạy nó, trong bất kỳ phiên nào bạn đang ở. Đăng ký EXE như một máy chủ COM chỉ cho phép các quy trình khác chạy EXE đó và giao tiếp với nó thông qua OLE/COM, nhưng EXE vẫn có thể chạy như một ứng dụng bình thường. Ví dụ, Microsoft Word và Outlook là cả hai máy chủ COM. Đó là, outlook.exe là một máy chủ COM, nhưng tất nhiên bạn cũng có thể chạy nó như một ứng dụng bình thường.
Điều này có phù hợp hơn với [ServerFault?] (Http://serverfault.com/) – Piccolo
DCOM cũng được sử dụng cho máy chủ cục bộ hay không. Bạn đã thử sử dụng 'Cấu hình DCOM' và thay đổi' Identity' chưa? – sharptooth
Chắc chắn có, không có sự khác biệt. Tôi mong đợi trong Task Manager để xem SYSTEM nhưng khi tôi chạy từ dòng lệnh nó vẫn chạy theo ID của tôi – user1371314