Bonjour,

Je dois étudier la possibilité d'installer plusieurs instances d'un service windows sur un même serveur.
Après recherches il semble que cela soit possible et je me suis notemment basé sur ce forum.

http://www.codeproject.com/Articles/...indows-Service

Malheureusement je n'arrive pas à le mettre en place. Je n'arrive pas à prendre en compte le serviceName passé dans le fichier config lors de l'install du service mais l'install bug lorsque que j'adopte le meme process que sur le blog...
Et quand en mofifiant un peu ca ne bug pas cela garde le "serviceName" créé en même temps que l'exe...

A la différence du blog mes settings sont passé via users Settings et non app settings...

Voici ma classe installer:

Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    ''' <summary>
    ''' Classe ServiceInstallServicePubNatco
    ''' </summary>
    <RunInstaller(True)>
    Public Class ServiceInstallServicePubNatco : Inherits Installer
 
        ''' <summary>
        ''' Initialise une nouvelle instance de la classe <see cref="ServiceInstallServicePubNatco"/>
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub New()
            '' On définit le compte sous lequel le service sera lancé (compte Système)
            Dim Process As ServiceProcessInstaller = New ServiceProcessInstaller()
            Process.Account = ServiceAccount.LocalSystem
 
            '' On définit le mode de lancement (Manuel), le nom du service et sa description
            Dim installer As ServiceInstaller = New ServiceInstaller()
            installer.StartType = ServiceStartMode.Manual
 
            installer.ServiceName = GetConfigurationValue("ServiceName")
            installer.DisplayName = GetConfigurationValue("ServiceName")
            installer.Description = GetConfigurationValue("ServiceDescription")
 
            '' On ajoute les installeurs à la collection (l'ordre n'a pas d'importance) 
            Installers.Add(installer)
            Installers.Add(Process)
 
        End Sub
 
        Private Function GetConfigurationValue(ByVal key As String) As String
            Dim service = System.Reflection.Assembly.GetAssembly(GetType(ServiceInstallServicePubNatco))
            Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(service.Location)
            Dim keyValue As String = config.AppSettings.Settings(key).Value
 
            If String.IsNullOrEmpty(keyValue) Then
                Throw New IndexOutOfRangeException(String.Format("Settings collection does not contain the requested key:[{0}]", key))
            End If
 
            Return keyValue
        End Function
 
    End Class

J'ai des soucis pour joindre le message d'erreur mais il semblerait que cela vienne de l'appel à GetType(ServiceInstallServiceXXX))
et mon objet qui ne serait pas encore instancier...

Je ne vois pas comment résoudre l'erreur alors si quelqu'un pouvait m'aider ou me dire déjà si ce que je cherche à faire et bien possible je lui en serait reconnaissant.

Cordialement,
Christophe.