Paramétrage répertoire d'installation
Bonjour
Je voudrais diffuser mon programme. Il semblerait que pondre une installation avec ClickOnce soit le plus simple.
J'accède à une base de contacts Access que mon programme travaille. La base est stockée à part. Je stocke le chemin en local dans un fichier txt que j'ai fort originalement baptisé Path.txt.
Mais j'ai besoin d'indiquer au logiciel où se trouve ce fichier (ou celui de la base, tant qu'on y est).
L'intérêt du fichier txt est de ne demander le chemin à l'utilisateur qu'une seule fois lors de l'installation.
Mais voilà, ClickOnce m'installe le programme n'importe où, au fond d'AppData ou je ne sais quoi au lieu de me faire ça gentiment sous ProgramFiles.
J'ai bien tenté de prendre directement Path.txt dans le répertoire d'installation, mais impossible de donner un chemin correct :
Code:
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 43
| rivate Sub Euroline_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim configpath As String
Dim mypath As String
configpath = "..\Path.txt"
Try
If File.Exists(configpath) = False Then
BaseOpenFileDialog.FileName = "Path.txt"
BaseOpenFileDialog.DefaultExt = ".txt"
If BaseOpenFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
BaseOpenFileDialog.RestoreDirectory = False
BaseOpenFileDialog.InitialDirectory = "..\"
configpath = BaseOpenFileDialog.FileName
Else : Exit Sub
End If
End If
mypath = File.ReadAllText(configpath)
If mypath = "" Then
BaseOpenFileDialog.FileName = "data.mdb"
BaseOpenFileDialog.DefaultExt = ".mdb"
If BaseOpenFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
BaseOpenFileDialog.RestoreDirectory = True
mypath = BaseOpenFileDialog.FileName
File.WriteAllText(configpath, mypath)
Else : Exit Sub
End If
End If
Catch ex As Exception
End Try
strConn = "Provider=Microsoft.jet.OLEDB.4.0;Data Source= " & mypath & ";"
objetConnection = New OleDbConnection()
objetConnection.ConnectionString = strConn
objetConnection.Open()
Requetes()
objetDataAdapter.Dispose()
objetConnection.Close()
End Sub |
Si je parvenais à donner un chemin valide pour Path.txt, ça irait. Mais entre ..\Path.txt ou ..\Bin\Path.txt ou autre, rien ne marche.
Et si je tente d'utiliser Environnement.CurrentDirectory, il m'indique le répertoire Debug qui ne sera pas le répertoire d'exécution. Pourtant, j'ai bien ajouter mon Path.txt aux fichiers d'application.
Ca vous inspire?
Merci