Tôi đang cài đặt dịch vụ Windows bằng WiX. Làm thế nào tôi có thể làm cho dịch vụ chạy trong ngữ cảnh của Người dùng Windows chạy trình cài đặt?Dịch vụ WiXCài đặt - cài đặt dịch vụ để chạy khi người dùng cửa sổ hiện tại
Trả lời
Bạn cần có cả tên tài khoản và mật khẩu cho người dùng bạn muốn chạy dịch vụ. Tôi đã có thể thực hiện điều này bằng cách thêm một giao diện người dùng tùy chỉnh vào trình cài đặt của tôi yêu cầu Tên người dùng và Mật khẩu, và sau đó sử dụng các giá trị được cung cấp cho các thuộc tính Tài khoản và Mật khẩu trên phần tử ServiceInsall.
Lưu ý rằng tài khoản nào được sử dụng để chạy dịch vụ sẽ cần phải có đặc quyền Đăng nhập là dịch vụ. Điều này không được cấp cho người dùng theo mặc định. Tôi đã có thể sử dụng phần tử User từ lược đồ UtilExtension để thêm private priveledge này cho người dùng. Việc thêm đặc quyền cho người dùng sẽ chỉ thành công nếu người dùng chạy trình cài đặt là quản trị viên.
Đây là mã tôi đã sử dụng. SERVICECREDENTIALS_USERLOGIN và SERVICECREDENTIALS_PASSWORD là các thuộc tính được điền từ giao diện người dùng tùy chỉnh.
<Component Id="ServiceEXE" Guid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
<File Id="ServiceEXE" Name="YourService.exe" DiskId="1"
Source="path\to\YourService.exe" KeyPath="yes" />
<util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="no" Name="[SERVICECREDENTIALS_USERLOGIN]"
LogonAsService="yes" />
<ServiceInstall Id="ServiceInstall" Type="ownProcess" Vital="yes" Name="YourService"
DisplayName="Your Service" Description="Your Service description"
Start="auto" Account="[SERVICECREDENTIALS_USERLOGIN]" Password="[SERVICECREDENTIALS_PASSWORD]"
ErrorControl="normal" Interactive="no" />
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="YourService" Wait="yes" />
</Component>
bạn có thể giúp tôi làm thế nào tôi có thể có 2 thành phần 1 cho SQL xác thực và 1 cho Windows xác thực tức là làm thế nào để thêm điều kiện. –
Mã này có hoạt động không? đặt đặc quyền LogonAsService * và * danh tính dịch vụ dường như không được lên lịch tuần tự trong gói .msi kết quả. Vì lý do này, cài đặt không thành công ... Hoặc tôi có thiếu thứ gì đó không? –
- 1. Sự cố khi cài đặt dịch vụ cửa sổ
- 2. lỗi trong khi cài đặt dịch vụ cửa sổ System.Security.SecurityException
- 3. Cài đặt cửa sổ dịch vụ sử dụng lệnh Promt
- 4. dịch vụ Tomcat không chạy sau khi cài đặt XAMPP
- 5. Cài đặt dịch vụ .NET bằng InstallUtil
- 6. MSDeploy để cài đặt dịch vụ windows?
- 7. Đang cố gắng để cài đặt cửa sổ dịch vụ ứng dụng tạo ra với C#
- 8. Cài đặt dịch vụ windows trên máy từ xa bằng tên người dùng đã cho
- 9. Chạy tập lệnh python dưới dạng dịch vụ cửa sổ
- 10. Cài đặt dịch vụ cửa sổ từ dự án Visual Studio Installer
- 11. Cách kiểm tra xem dịch vụ cửa sổ có được cài đặt trong C#
- 12. Nhắc mật khẩu tên người dùng trong khi cài đặt dịch vụ windows trong C#
- 13. Thực hiện dịch vụ tự cài đặt ở delphi
- 14. cài đặt/gỡ cài đặt Dịch vụ Windows
- 15. InstallShield Visual Studio không cài đặt Dịch vụ
- 16. Tôi làm cách nào để cài đặt dịch vụ cửa sổ lên máy không cài đặt Visual Studio?
- 17. Không cài đặt 'tomcat 7' dịch vụ
- 18. Cài đặt dịch vụ cửa sổ .net với thư mục lib
- 19. cx_Freeze. Cách cài đặt dịch vụ và thực thi tập lệnh sau khi cài đặt
- 20. Cách tốt nhất để đặt mô tả dịch vụ cửa sổ tại .net
- 21. Cài đặt chương trình java dưới dạng dịch vụ cửa sổ: Thay thế cho JavaService?
- 22. Thêm một trình cài đặt dịch vụ và trình cài đặt quy trình dịch vụ trong studio trực quan
- 23. Dịch vụ Android đang chạy nhưng không hiển thị trong cài đặt -> dịch vụ đang chạy
- 24. Dừng dịch vụ cửa sổ nhiều luồng
- 25. Dự án thiết lập Dịch vụ Windows - chạy dịch vụ với tư cách quản trị viên
- 26. Lỗi khi cài đặt dịch vụ Windows được phát triển trong .Net
- 27. Làm cách nào để tự động phát hiện cài đặt proxy từ dịch vụ hệ thống
- 28. Batch Script để cài đặt hoặc gỡ cài đặt Dịch vụ Windows .NET
- 29. Cài đặt ứng dụng Android thông qua dịch vụ OTA
- 30. Mongodb, sharding và nhiều cửa sổ dịch vụ
Tại sao bạn muốn chạy dịch vụ với tư cách người dùng hiện tại? Phần lớn điểm của một dịch vụ là có thể chạy khi không có người dùng đăng nhập - và để có thể chạy như LocalSystem để tạo điều kiện cho quyền quản trị cho tệp thực thi. Tôi chắc chắn bạn có một lý do chính đáng ... –
Một lý do tại sao bạn sẽ chạy nó như một người dùng cụ thể là nó cần một kết nối đến máy chủ SQL và máy chủ SQL được cấu hình để sử dụng Windows Authentication ... nó dễ dàng hơn để không có để thêm "Local Service" vào danh sách SQL Users. –