Exception relevé dans une requête

Résolu
cs_ShayW Messages postés 3253 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 3253 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 211
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 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 211
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
14 juil. 2015 à 22:55
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
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 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
14 juil. 2015 à 23:18
j'ai trouvé

  path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
0
Rejoignez-nous