Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut Où placer ses fichiers de données ?

    Bonjour à tous,

    Je travaille actuellement sur le développement d'un produit et je souhaiterais que son exécution ne nécessite pas les droits d'administration.

    Lors de l'installation les fichiers de données et autre fichier de config sont déployés sur le <RepDonneesCommun>.

    Dans mon code, à l'initialisation je fais un fRepEnCours(fRepDonnéesCommun)
    J'ai également fait un HChangeRep("*",RepDonneesCommun())

    Donc jusque là tout va bien... par contre ce qui me dérange, et c'est pas uniquement lié à Windev, c'est que cela fonctionne uniquement si l'administrateur n'exécute pas le programme en premier...

    En gros le premier utilisateur qui exécute l'application s'attribue les droits sur les fichiers... Je peux le comprendre... c'est lui qui fait le HCréationSiInexistant() et les éventuels fOuvre('toto.txt',foCréationSiInexistant)

    Du coup j'aurais tendance à dire : "Ok chacun ses fichiers donc je migre tout dans le <RepDonneesUser> MAIS lors de l'installation l'user est un admin, c'est donc dans SON répertoire que les fichiers sont déployés...

    Donc je finis par me dire : "J'installe tout dans <RepDonnéesCommun> et lors de l’exécution je teste l'existence des fichiers dans le répertoire <RepDonnéesUser> et s'il n'existe pas je copie ce dont j'ai besoin depuis le <RepDonnéesCommun>...." mais j'ai l'impression d'alambiquer un problème simple...

    Bref la question est la suivante : "Comment faire pour que soit le plus simple possible ?"
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  2. #2
    Modérateur
    Avatar de mail.spam
    Homme Profil pro Sylvain
    Développeur Windev et technicien maintenance
    Inscrit en
    janvier 2008
    Messages
    1 805
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 1 805
    Points : 3 481
    Points
    3 481

    Par défaut

    Bonjour,

    La première question est quelle version de windev utilise tu?
    Pour l'utilisation sous windows 7 et vista il y a une option lors de la génération de l'exécutable qui s'appelle "manifeste windows vista"
    Regarde dans l'aide.
    Ainsi l'utilisateur prend les droits que tu lui donne par le manifeste.
    Je pense que ça peux résoudre ton problème.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut

    Citation Envoyé par mail.spam Voir le message
    Bonjour,

    La première question est quelle version de windev utilise tu?
    Pour l'utilisation sous windows 7 et vista il y a une option lors de la génération de l'exécutable qui s'appelle "manifeste windows vista"
    Regarde dans l'aide.
    Ainsi l'utilisateur prend les droits que tu lui donne par le manifeste.
    Je pense que ça peux résoudre ton problème.
    C'est une bonne piste ! mais je ne trouve rien dans l'aide concernant les manifestes personnalisés....

    [EDIT]
    Ah si j'ai trouvé à cette page : http://doc.pcsoft.fr/fr-FR/?2025013
    [/EDIT]

    [EDIT2]
    Bon ben en fait ça m'aide pas beaucoup... et le fichier d'exemple de PCSOFT... ben je préfère rien dire...

    J'ai pas précisé mais je bosse sur Windev 18 (depuis hier) mais le pb était déjà le même en WD17....
    [/EDIT2]
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Expert Confirmé
    Avatar de Emmanuel Lecoester
    Profil pro Emmanuel Lecoester
    Inscrit en
    février 2003
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Nom : Emmanuel Lecoester
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : février 2003
    Messages : 1 491
    Points : 3 144
    Points
    3 144

    Par défaut

    Pourquoi ne pas utiliser une version HF Serveur ?
    Emmanuel Lecoester
    => On recrute des rédacteurs WinDev

  5. #5
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut

    Citation Envoyé par Emmanuel Lecoester Voir le message
    Pourquoi ne pas utiliser une version HF Serveur ?
    Pour plusieurs raisons dont voici les 2 principales :

    - j'aimerais comprendre comment faire pour créer un programme installé par un administrateur et utilisé par un utilisateur lambda
    - il s'agit d'une version monoposte/mono-utilisateur et cela ne justifie pas (pour moi) la mise en place d'un serveur (HF ou autre)


    Enfin, pour information, nous distribuons 2 versions de l'application : une monoposte et une C/S.
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2009
    Messages : 136
    Points : 289
    Points
    289

    Par défaut

    Bonjour,

    Vous pouvez utiliser SysRep avec le paramètre "srAppDataCommun", plus de problème de compte d'utilisateur.

    EDIT:
    Voir même "srAppDataLocal", si la définition "Commun" pose tout de même des problèmes avec les comptes.

  7. #7
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut

    Citation Envoyé par themayu Voir le message
    Bonjour,

    Vous pouvez utiliser SysRep avec le paramètre "srAppDataCommun", plus de problème de compte d'utilisateur.

    EDIT:
    Voir même "srAppDataLocal", si la définition "Commun" pose tout de même des problèmes avec les comptes.
    Bonjour,

    Merci pour votre réponse.

    Cela ne changera rien à mon problème. :
    - SysRep(srAppDataCommun) et RepDonneesCommun renvoit la même chose.
    - SysRep(srAppDataLocal) est lié à l'utilisateur (données stockées dans un sous-dossier "Local" du répertoire des données utilisateur)

    Je pense que je n'avais pas tant alambiquer le problème que ça...je vais donc faire comme je le pensais initialement : un déploiement des données le RepDonnéesCommun (ou SysRep(srAppDataCommun)) lors de l'installation puis une copie des données dans le répertoire RepDonnéesUtilisateur lors de la première exécution... je ne vois rien de plus simple finalement !!!
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  8. #8
    R&B
    R&B est déconnecté
    Membre expérimenté
    Homme Profil pro Romuald Besset
    Développeur informatique
    Inscrit en
    mars 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Nom : Homme Romuald Besset
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : mars 2005
    Messages : 310
    Points : 560
    Points
    560

    Par défaut

    hmmm

    Nous n'utilisons pas forcément les répertoires 'Windows' et pour cause : on dépends de l'utilisateur en cours etc.

    une solutions certe ancienne mais qui fonctionne encore :
    un répertoire pour votre projet au sens large
    un sous répertoire avec les exécutables et autres fichier nécessaires à l'exécution de votre projet
    un sous répertoire pour les données

    Besoins d'une sauvegarde ? hop ! on prends le répertoire du projet !
    Autre avantage : simplification de la recherche des données etc. il suffit d'ouvrir le répertoire du raccourcis sur le bureau et on est dans la place à très peu de chose près !

    Idem on C/S, un sous répertoire pour le serveur et un autre pour les données C/S. penser à un sous répertoire pour les autres fichiers partagées qui est le même qu'en mode classic.

    Au final 4 sous répertoires avec les deux derniers optionnels : exe, données, serveur CS et données CS.

    On peut ensuite dériver plein de possibilité dans votre espace projet...

    En résumé : faire simple !
    ++ R&B

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2009
    Messages : 136
    Points : 289
    Points
    289

    Par défaut

    Je n'avais pas testé mais effectivement srAppDataLocal est spécifique à l'utilisateur, du coup la définition dans l'aide ne correspond pas à grand chose ...

    srAppDataLocal = Répertoire à utiliser par les applications pour stocker leurs données (spécifique à la machine plutôt qu'à un utilisateur)

  10. #10
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut

    Citation Envoyé par themayu Voir le message
    Je n'avais pas testé mais effectivement srAppDataLocal est spécifique à l'utilisateur, du coup la définition dans l'aide ne correspond pas à grand chose ...
    Si c'est valable dans le cas des profils itinérants... je crois....

    Lorsque vous travaillez dans sur un domaine vous pouvez vous loguez depuis n'importe quel poste du domaine (si vous y êtes autorisé), dans ce cas les données répliquées d'un poste à un autre sont les données du dossier utilisateur (RepDonneesCommun) SAUF le répertoire "Local"... si je ne dis pas de bêtise !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  11. #11
    Membre confirmé
    Homme Profil pro Laurent LEMARCHAND
    Inscrit en
    juin 2010
    Messages
    717
    Détails du profil
    Informations personnelles :
    Nom : Homme Laurent LEMARCHAND

    Informations forums :
    Inscription : juin 2010
    Messages : 717
    Points : 242
    Points
    242

    Par défaut Bonjour,

    Pour ma part, après avoir longtemps galérer à essayer de comprendre et de respecter les règles de programmations logiquement imposées par windows, j'ai fini par appliquer ma propre méthode.

    Pas de manifeste piur 7 ou vista
    Les fichier de données sont installé dans un répertoire caché à la racine du disque qui contient l'application.
    Dans le code d'initialisation du projet, je fais un HChangeRep pour localiser l'endroit et voilà.
    Depuis, plus de soucis.

  12. #12
    Membre Expert
    Homme Profil pro Mathurin
    Développeur informatique
    Inscrit en
    mars 2009
    Messages
    905
    Détails du profil
    Informations personnelles :
    Nom : Homme Mathurin
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2009
    Messages : 905
    Points : 1 331
    Points
    1 331

    Par défaut

    Bonjour,

    Merci pour vos réponses.

    Je mets le thread en "résolu"... même si j'avoue que dans mon cas la solution la plus pertinente, enfin il me semble, est celle que je me proposais tout seul au début !

    Donc pour une application compatible avec l'organisation des droit Windows :

    - Installation du programme par l'administrateur avec déploiement de données sur fRepDonnéesCommun()
    - Copie des données dans fRepDonnéesUtilisateur() lors de la première éxécution par chaque utilisateur avec ou sans pouvoir
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •