Windowsサービスとセットアッププロジェクトがあります。セットアッププロジェクトを右クリックしてインストールをクリックすると、
- ユーザー名
- パスワード
- パスワードを認証する
私は以下の組み合わせを試しました
.\MyUserName MyDomain\MyUserName
しかし、次のエラーが返されます
アカウント名とセキュリティIDのマッピングは行われませんでした
サービスプロセスインストーラー
namespace TestService
{
[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
this.serviceProcessInstaller1.Account = ServiceAccount.User;
this.serviceProcessInstaller1.Username = @".\MyUserName"; //username;
this.serviceProcessInstaller1.Password = "123456"; // password;
// Add installers to collection. Order is not important.
}
private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
{
}
private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
{
}
}
}
正直に言うと、コードでユーザー名とパスワードを設定しているのに、なぜユーザー名とパスワードの入力を求められるのかさえわかりません...
ベストアンサー1
以下の手順を実行したかどうかを確認してください(特にステップ5):
Windows サービス プロジェクトを作成したら、サービス クラスのデザイン ビューに移動します (service1.cs クラスをダブルクリックするだけです)。
デザイン ビューで右クリックし、[インストーラーの追加] を選択します。これにより、ProjectInstaller.cs という名前のインストーラー クラスが作成されます。ProjectInstaller.cs がない場合、または ProjectInstaller.cs の構成にエラーがある場合は、サービス コンソールにサービスが表示されない可能性があります。
ProjectInstaller.cs のデザイン ビューに移動すると、2 つのインストーラーが見つかります ->
a.サービスインストーラ1
b.サービスプロセスインストーラ1
ServiceInstaller1を右クリックしてプロパティタブに移動します
a. サービス コンソールでサービスを表示する名前で ServiceName を編集します。
b.変更する開始タイプに自動。
ServiceProcessInstaller1を右クリックしてプロパティタブに移動します
a. アカウントを変更するローカルサービス
保存して試してみてください。