J'ai une classe d'installation utilisant ServiceProcessInstaller
. Dans la classe d'installation dans le constructeur je l'ajoute aux installateurs:ServiceProcessInstaller échoue avec "Aucun mappage entre les noms de compte et les ID de sécurité n'a été effectué"
serviceProcessInstaller = new ServiceProcessInstaller();
serviceInstaller = new ServiceInstaller();
// Add Both Installers to Project Installers Collection to be Run
Installers.AddRange(new Installer[]
{
serviceProcessInstaller,
serviceInstaller
});
et méthode d'installation que je mets le nom d'utilisateur et mot de passe:
public override void Install(IDictionary stateSaver)
{
.... open the form, bla bla bla
serviceProcessInstaller.Password = accountForm.txtPassword.Text;
serviceProcessInstaller.Username = accountForm.txtServiceAccount.Text;
serviceProcessInstaller.Account = ServiceAccount.User;
}
lorsque je tente de l'exécuter cependant, je reçois tout message d'erreur descriptif: "Aucun mappage entre les noms de compte et les ID de sécurité n'a été effectué". Qu'est-ce que je fais mal?
EDIT: J'ai testé que cette erreur se produit uniquement lorsque j'installe ce composant en utilisant le package msi. Cela fonctionne très bien quand je lance InstallUtil contre cela.
Ceci est intéressant. J'ai exactement le même problème mais l'approche ci-dessus ne fait aucune différence pour moi. J'utilise VS2010/NET4 et je me demande si MS a changé quelque chose ici - je travaille avec du code qui fonctionne sous les versions précédentes de .NET. – PeteH
N'y a-t-il pas une faute de frappe - mélanger les paramètres USERNAME et PASSWORD? Ou est-ce une bizarrerie? –
@NiklasRingdahl, bravo - corrigé. – Grzenio