3

Je prévois de déployer mon fichier DB dans le dossier Users\CurrentUserName\AppData, car les paramètres de contrôle de compte d'utilisateur par défaut restreignent l'accès en écriture au répertoire Program Files dans lequel mon programme est installé.
Première question - est-ce correct?Comment déployer un fichier de base de données SQL Compact Edition (.sdf) dans le dossier AppData? Chaîne de connexion?

Jusqu'ici, j'ai créé un dossier personnalisé, définissez la propriété DefaultLocation sur [LocalAppDataFolder][ProductName] et placez le fichier .sdf dans ce dossier.
Cela fonctionne sous Windows 7, mais il ne semble pas fonctionner sous Windows XP - je ne trouve aucun signe de son déploiement ailleurs.

Où et comment dois-je déployer le fichier DB?

Je ne sais pas non plus comment définir la chaîne de connexion à l'emplacement [LocalAppDataFolder] - des suggestions?

Éditer: L'application est une application WinForms qui sera téléchargée à partir d'un site Web et installée à l'aide du programme d'installation créé avec le projet d'installation.

+0

Quel type d'application est-il ?? ASP.NET? Winforms? Console? Un service? –

+0

Winforms, désolé de ne pas l'avoir spécifié. – lucian

Répondre

3

Cela fonctionne pour moi:

string fileName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "SqlCe35AddinStore.sdf"); 

string connString = string.Format("Data Source={0};", fileName); 
+0

Merci beaucoup. Cela m'a vraiment aidé. Donc, à votre avis, le dossier AppData est celui dans lequel enregistrer le fichier de base de données? Encore une fois, merci pour l'idée. – lucian

Questions connexes