J'ai un programme développé pour Windows XP, mais quand j'essaye de l'installer dans Windows Vista, j'obtiens un message d'erreur indiquant que la base de données SQL (sqlite3) est en lecture seule. Est-ce dû à une fonctionnalité de Windows Vista?Est-ce que Vista empêche les modifications dans le répertoire Program Files?
Répondre
Les utilisateurs normaux dans Vista ne reçoivent que les autorisations de lecture des fichiers dans le répertoire Program Files répertoire
Le programme d'installation msi dans Vista fonctionne en tant qu'utilisateur avec des autorisations plus élevées qui lui permet d'écrire les fichiers. Vous devez soit Exécuter le programme en tant qu'administrateur ou ajuster les autorisations des fichiers dont il a besoin d'écrire.
Il pourrait être. Un utilisateur "régulier" a un accès restreint au dossier Program Files, et les programmes "vilains" qui essaient d'y écrire leurs données peuvent donner un "accès refusé" et des erreurs similaires.
Vous pouvez essayer de faire un clic droit sur l'application et de choisir "Exécuter en tant qu'administrateur" pour voir si cela résout le problème. (Si c'est le cas, vérifiez s'il est possible de le reconfigurer pour stocker ses données dans un endroit où il peut écrire sans exiger de droits d'administrateur)
Une autre possibilité est que SQLite n'est pas configuré pour autoriser l'accès de votre compte utilisateur - Dans ce cas, vous devez vous connecter à SQL en tant qu'administrateur et accorder vos droits d'accès au compte utilisateur.
- 1. Question d'installation: "Program Files" ou "Program Files (x86)"?
- 2. Rechercher un fichier dans Program Files dir
- 3. Comment obtenir le chemin du dossier Program Files (pas Program Files (x86)) à partir du processus WOW 32 bits?
- 4. problème d'écriture de fichier sous le dossier «Program Files»
- 5. Autorisation Vista refusée pour l'utilitaire de ligne de commande s'exécutant dans Program Files
- 6. Pourquoi puis-je écrire dans un répertoire particulier à partir de Program Files avec UAC activé?
- 7. Comment vérifier si l'application s'exécute à partir de \ program files \
- 8. La syntaxe correcte pour l'utilisation Runtime.exec avec « Program Files »
- 9. Comment copier de nouveaux binaires dans C: \ Program Files?
- 10. Comment installer le langage de programmation D dans C: \ Program Files?
- 11. Ecraser l'exécutable dans C: \ Program \ MyProg sous Windows Vista
- 12. Quels seraient les effets négatifs de l'installation d'une application 32 bits dans C: \ Program Files \ à la place de C: \ Program Files (x86) \?
- 13. Référez-vous à 'Program Files' sur une machine 64 bits
- 14. WSE 3.0 sur l'infrastructure 3.5 sous Program Files (X86)
- 15. Pourquoi les applications dans Program Files ne sont-elles pas exécutées avec os.execute dans lua?
- 16. Moniteur Répertoire pour les modifications
- 17. Windows 7 Créer un dossier dans "Program Files" échouant dans le code C# même pensé que j'ai des droits d'administrateur!
- 18. Installation de fichiers dans x64 «Program Files» à partir de x86 msi
- 19. Est-ce que Windows Vista empêche les services Windows d'accéder à Internet ou au matériel USB?
- 20. C++ programme pour regarder le répertoire pour les modifications
- 21. Inno installation - installer l'application pour Program Files, permettre de ne pas exécuter en tant qu'admin
- 22. IShellLink :: SetIconLocation traduit mon chemin d'icône dans% Program Files% qui est WRONG
- 23. démarrage d'un exécutable Windows via un script batch, exe pas dans Program Files
- 24. Suivi des modifications dans un répertoire programmatique
- 25. modifications de l'API MultiByteToWideChar sur Vista
- 26. Dans quel répertoire mon installateur doit-il installer une application sur Vista?
- 27. Comprendre le contrôle de compte Windows Vista/7
- 28. Impossible de démarrer un service Windows qui ne se trouve pas dans le dossier 'Program Files' sous Windows 7
- 29. Où stocker les données inscriptibles devant être partagées par tous les utilisateurs dans un programme d'installation Vista?
- 30. Modifier l'emplacement d'installation si ancienne installation emplacement utilisé par défaut (Program Files /)
Le programme a été installé correctement, donc je suppose que j'avais des droits d'administrateur quand je l'ai installé. Est-ce que Vista ferait cette distinction entre l'installation et l'exécution même si vous n'avez pas changé votre connexion? – vfclists
Non, du point de vue du système d'exploitation, il ne devrait pas y avoir de distinction entre l'installation et l'exécution. L'installation doit souvent être effectuée par un administrateur pour cette raison, mais à condition que les fichiers de données soient écrits ailleurs, un utilisateur régulier peut exécuter l'application correctement. Cela dit, ce qui pourrait être différent est que le programme d'installation pourrait déclencher l'élévation si l'utilisateur est un administrateur, alors que votre application et/ou SQLite est incapable de le faire. Malheureusement, je n'ai pas eu à coder pour ce scénario, donc je ne peux pas donner beaucoup de conseils autres que la recherche d'UAC/élévation si vous pensez que cela pourrait être le problème. – pdbartlett
Les installateurs disposent d'autorisations spéciales sur Vista et SQLite dépend entièrement du système d'exploitation pour effectuer le contrôle d'accès. il n'y a pas d'autorisations au niveau de la base de données. –