Exception relevé dans une requête

Résolu
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
- 14 juil. 2015 à 22:11
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
- 14 juil. 2015 à 23:18
Bonjour,

La requête

Public Sub InsertPlayer(ByVal FamillyName As String)

Dim command As New OleDbCommand
command.Connection = Connection
command.CommandText = "INSERT INTO Player (Name) VALUES ([?]);"
command.Parameters.Add("?", OleDbType.BSTR).Value = FamillyName
Try
command.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub


J'ai crée un setup d'installation qui installe le shorcut exe dans le user's desktop. La bdd (mdb) est placé dans un folder nommé auxfile crée lors de l'installation.

le problème surgit si j'installe le fichier msi dans le folder C:\Program Files (x86) ou C:\Program Files ;
L'installation se fait correctement mais ensuite je lance l'exe et la une erreur
Si j'installe dans un autre folder aucun problème
vraiment dans le brouillard

merci

5 réponses

ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
14 juil. 2015 à 22:19
Bonjour,
Avec certains OS, l'installation dans le répertoire C:\Program Files est protégée et nécessite de se faire "en tant qu'administrateur"
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
14 juil. 2015 à 22:26
Bonjour

Oui et Depuis Vista, le dossier Program files (son homologue Program Files (x86) ), ses dossiers et les fichiers y étant sont en lecture seule en exécution normale

Est que je peux forcer l'installation dans un dossier fixe que je crée
pendant l'installation ex C:\Jeux
ou faut il laisser libre choix au client ?
0
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
14 juil. 2015 à 22:32
Il y a aussi la solution de mettre le fichier de base de données dans le dossier %appdata% de l'utilisateur, mais cela fera que chaque utilisateur aura un fichier différent.

Forcer le dossier n'est pas toujours bon, certaines personnes (certes rare) peuvent avoir le disque système en D: et non en C:.

A toi de voir.
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
14 juil. 2015 à 22:45
Bonjour, NHenry,

certaines personnes (certes rare) peuvent avoir le disque système en D: et non en C:.

Sous VBH6, j'utilise par prudence la fonction Environ
L'équivalent VB.Net semble être ===>>
https://msdn.microsoft.com/fr-fr/library/system.environment%28v=vs.110%29.aspx
0
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
14 juil. 2015 à 22:55
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
14 juil. 2015 à 23:11
Bonsoir
le code de la db

 Dim path As String
path = Application.StartupPath & "\auxfile\db1.mdb"
Dim base As String = "provider=microsoft.jet.oledb.4.0;data source=" & path

si je place la bdd dans %appdata% que faut il écrire
path = ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
14 juil. 2015 à 23:18
j'ai trouvé

  path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
0