7 votes

Créer un journal des événements en tant que partie de l'installation - application Windows Forms, projet de déploiement VS

J'ai une application de formulaire Windows vb.net que je déploie en utilisant le projet de déploiement visual studio. L'application doit écrire des journaux d'événements dans le journal d'application de l'observateur d'événements. Pour des raisons expliquées ici, je dois créer la source d'événements lors du processus d'installation. Quelque chose comme ça pour s'exécuter dans le cadre de l'installateur

        If Not EventLog.SourceExists(My.Application.Info.ProductName) Then
            EventLog.CreateEventSource(My.Application.Info.ProductName, "Application")
        End If

Ce code doit être exécuté pendant l'installation avec des privilèges élevés. Donc mes questions sont:

  1. Comment exécuter ce code ci-dessus dans le cadre de l'installateur ?
  2. Comment puis-je obtenir l'installateur pour afficher le message UAC permettant à ce code de s'exécuter dans le cadre de l'installation ?

1voto

Ray Hulha Points 1072

Ajouter une clé de registre vide à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MY_CUSTOM_SOURCE_NAME_HERE semble fonctionner correctement.

0voto

user3085342 Points 76

Vous pourriez également essayer l'approche dans la classe EventLogInstaller: https://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller(v=vs.90).aspx (Permissions d'administrateur requises lors de l'installation)

Vous pourriez également être intéressé par l'utilisation de la classe ProjectInstaller comme décrit dans le guide pas à pas: Créer une application de service Windows dans le Concepteur de composants: https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

Désolé - je viens de voir votre note concernant Windows Forms. Ce qui précède est valable uniquement pour les services Windows

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X