erreur lors de l'installation du service de fenêtre System.Security.SecurityException
J'ai créé une fenêtre de service et pour l'installer, j'ai créé son projet de déploiement et installé en. Après l'installation je l'ai regardé. Il a démarré avec succès.
Lendemain, j'ai fait quelques modifications, et de reconstruire et de le réinstaller, mais maintenant sa ne pas installer.
Alors j'ai pensé que son problème avec l'installateur, permet de créer un installateur pour le service, de sorte que chaque fois que je peux mettre à jour mon code.
Je l'ai créé comme ça au cas ou si quelqu'un à besoin pour l'avenir.
public class MyInstaller : Installer
{
ServiceProcessInstaller spi;
ServiceInstaller si;
public MyInstaller()
{
spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
si = new ServiceInstaller();
si.StartType = ServiceStartMode.Manual;
si.ServiceName = "MyService";
si.DisplayName = "My Service";
si.Description = "service installed from command line";
this.Installers.Add(spi);
this.Installers.Add(si);
}
}
Je l'ai appelé à partir de la méthode main par vérifier le paramètre args.
case "-i":
case "-install":
ti = new TransactedInstaller();
mi = new MyInstaller();
ti.Installers.Add(mi);
string logPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\install.log";
ctx = new InstallContext(logPath, cmdline);
ti.Context = ctx; //.Context ( ctx );
ti.Install(new Hashtable());
break;
Maintenant, quand j'essaie de l'installer. Je recevied erreur de Système.De sécurité.SecurityException: La source n'a pas été trouvé, mais certains ou tous les journaux des événements n'a pas pu être fouillés. Inaccessible journaux: la Sécurité.
Je google, et en viennent à connaître de service va essayer d'accéder journal d'application lors de l'installation et de l'écriture du journal.
Je ne suis pas d'écrire n'importe quel journal des événements. J'ai mon log4net pour la journalisation. Mais encore son comportement par défaut.
Comment surmonter ce problème maintenant? Ses pas se installé même que j'ai toutes les autorisations.
Grâce
source d'informationauteur sunder
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé que parfois, vous devrez peut-être Exécuter en tant qu'Administrateur". Si vous installez à partir d'une invite de commande, vous pourriez avoir besoin pour commencer que avec "Exécuter en tant qu'Administrateur".
J'ai peut-être eu une racine séparé cause pour le message, mais je l'ai corrigé en changeant mon service à exécuter en tant que système local (qui est ce que je veux de toute façon) au lieu de LocalService.
Je peux confirmer que, sous "windows 7 64 bits" ET "Windows 10", vous devez:
1) exécuter Visual studio invite de commande en tant QU'ADMINISTRATEUR (clic droit.. Autres.. tun en tant qu'administrateur)
2) allez sur "obj" le dossier où Vous avez le fichier exe.
(cd [tous les chemin d'accès \obj] )
3) lancer installutil [myservice.exe]
si pas exécuter en tant que "admin", il ne parvient pas même sur les vieux win7. 🙁
remarque: MSDN ne l'expliquer:
(à https://docs.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer)
"Pour installer un service Windows, vous devez disposer des droits d'administrateur sur l'ordinateur sur lequel vous installez."
🙂