Tôi đang sử dụng InstallUtil để cài đặt dịch vụ của mình và tôi không thể tìm ra cách chỉ định tham số khởi động cho nó!Sử dụng InstallUtil để cài đặt dịch vụ Windows với thông số khởi động
Đây là lớp con Installer của tôi:
[RunInstaller(true)]
public class ServerHostInstaller : Installer
{
private ServiceInstaller m_serviceInstaller;
private ServiceProcessInstaller m_serviceProcessInstaller;
private static string s_usage = "Usage:\ninstallutil /i /username=<user_name> /password=<user_password> NCStub.Server.Host.exe";
public ServerHostInstaller()
{
m_serviceInstaller = new ServiceInstaller();
m_serviceInstaller.ServiceName = Program.ServiceName;
m_serviceInstaller.DisplayName = Program.ServiceName;
m_serviceInstaller.StartType = ServiceStartMode.Automatic;
m_serviceProcessInstaller = new ServiceProcessInstaller();
m_serviceProcessInstaller.Account = ServiceAccount.User;
Installers.Add(m_serviceInstaller);
Installers.Add(m_serviceProcessInstaller);
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
string userName = this.Context.Parameters["username"];
if (userName == null)
{
Console.WriteLine(s_usage);
throw new InstallException("Missing parameter 'username'");
}
string userPass = this.Context.Parameters["password"];
if (userPass == null)
{
Console.WriteLine(s_usage);
throw new InstallException("Missing parameter 'password'");
}
m_serviceProcessInstaller.Username = userName;
m_serviceProcessInstaller.Password = userPass;
}
}
bất cứ ai có thể chỉ ra làm thế nào để xác định các thông số dịch vụ khởi động?
Cách tiếp cận này cũng hoạt động nếu bạn đính kèm trình xử lý vào sự kiện BeforeInstall của đối tượng trình cài đặt dịch vụ thay vì ghi đè phương thức Cài đặt. –
Trên thực tế không có nó không. Nó nên và tôi khá chắc chắn nó được sử dụng để nhưng tôi chỉ cần kiểm tra và nó không. Gắn bó với phiên bản ghi đè. –
Tôi có cùng giải pháp để chuyển thông tin đăng nhập cho trình cài đặt của mình. Vấn đề là tệp nhật ký chứa thông tin xác thực của bạn, đây là một vấn đề lớn trong quan điểm của tôi. Bạn có một ý tưởng làm thế nào để vô hiệu hóa các văn bản của "tham số bị ảnh hưởng là:" trong logfile? Tôi không muốn vô hiệu hóa logfile hoàn chỉnh! – flayn