Bonjour à tous,

J'ai créé une appli VB 2008 et je bloque depuis quelques jours sur l'auto-démarrage testé sur une config Vista indépendante. Je dois dire que les chemins vituels de Vista, pour moi c'est le brouillard.

Donc lorsque je déploie l'appli sur un poste Vista de test, tout va bien. L'appli est lancée après le déploiement et fonctionne parfaitement bien. Si je ferme l'appli et la relance, il n'y a aucun problème.

En revanche, lorsque je redémarre Windows c'est la cata! En effet, l'appli auto-démarrée ne retrouvent plus ses fichiers de contenu (ex MaBase.sdf) et les Settings sont ré-initialisés ! Je ferme et relance depuis le Menu 'Tous les programmes' du bureau et là tout fonctionne bien!

Si je regarde dans la base de registre le chemin de l'exécutable et l'utilise manuellement, alors le même problème ré-apparaît !!!

A l'évidence, les chemins ne sont pas les mêmes dans le menu et dans la base de registre !!! Je n'y comprends rien.

Voici un extrait de ma source :

Code : 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
    Public Sub AppliAutoDemarre(ByVal Action As Boolean) 
       

        Dim regKey As RegistryKey
        regKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)

        Dim AppliEXE = Application.ExecutablePath
        Dim IsKeyExist As Boolean = (regKey.GetValue(Application.ProductName) = AppliEXE)
       
        If Action And Not IsKeyExist Then
            regKey.SetValue(Application.ProductName, AppliEXE)
        End If

        If Not Action And IsKeyExist Then
            regKey.DeleteValue(Application.ProductName)
        End If

        regKey.Close()


    End Sub

 Private Sub ValideOptions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ValideOptions.Click


        My.Settings.PERIODE = MonAppli.Période
        My.Settings.ENCRE = MonAppli.CouleurEncre
        My.Settings.AUTODEMARRE = MonAppli.AutoDemarre
        My.Settings.VISIBLE = MonAppli.hVisible
        My.Settings.GENRE = MonAppli.Genre

        Call AppliAutoDemarre(MonAppli.AutoDemarre)
        My.Settings.Save()
        Me.Close()


    End Sub


Merci d'avance de votre aide ...


Gilles