Windows サービスのインストール - アカウント名とセキュリティ ID 間のマッピングは行われませんでした 質問する

Windows サービスのインストール - アカウント名とセキュリティ ID 間のマッピングは行われませんでした 質問する

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):

  1. Windows サービス プロジェクトを作成したら、サービス クラスのデザイン ビューに移動します (service1.cs クラスをダブルクリックするだけです)。

  2. デザイン ビューで右クリックし、[インストーラーの追加] を選択します。これにより、ProjectInstaller.cs という名前のインストーラー クラスが作成されます。ProjectInstaller.cs がない場合、または ProjectInstaller.cs の構成にエラーがある場合は、サービス コンソールにサービスが表示されない可能性があります。

  3. ProjectInstaller.cs のデザイン ビューに移動すると、2 つのインストーラーが見つかります ->

    a.サービスインストーラ1

    b.サービスプロセスインストーラ1

  4. ServiceInstaller1を右クリックしてプロパティタブに移動します

    a. サービス コンソールでサービスを表示する名前で ServiceName を編集します。

    b.変更する開始タイプ自動

  5. ServiceProcessInstaller1を右クリックしてプロパティタブに移動します

    a. アカウントを変更するローカルサービス

保存して試してみてください。

おすすめ記事