Sauvegarde partagée

Résolu
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 20 août 2007 à 08:57
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 21 août 2007 à 00:31
Bonjour,

J'ai créé un programme qui se lance au démarrage d'une session et qui lit un fichier de configuration.
Il le modifie également.

Le problème c'est que quand la session est limité impossible d'avoir l'accès en écriture, mais la lecture est possible.
L'attribut lecture seule n'est pas enclenchée.
J'utilise ofstream du C++.

Je le met dans All User\Application Data (réception du dossier via une fonction API qui fonctionne sous XP).

Si la configuration est créé la première fois est créé sur un compte admin, impossible pour les comptes limités de le modifier, si c'est créé par un compte limité, aucun pb ni pour lui ni pour un compte admin mais pas pour un autre compte limité qui lui générera une erreur.

Si vous avez une idée pour enregistrer une configuration modifiable par tous les utilisateurs du logiciels sans passer par le registre et en évitant de le mettre dans un répertoire trop fréquenté comme "Mes documents partargés".

Merci d'avance et bonne prog,
@++

Le créateur du site http://victorlogiciels.com

13 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2007 à 10:40
int __stdcall CreerDossierTousUsers(char *szfolder)
{
  SECURITY_ATTRIBUTES sa;
  TCHAR szSD[] = TEXT("D:")
                 TEXT("(A;OICI;GA;;;WD)"); // Allow full control to everyone for that directory
  sa.nLength = sizeof(SECURITY_ATTRIBUTES);
  sa.bInheritHandle = FALSE;
  if(!ConvertStringSecurityDescriptorToSecurityDescriptor(szSD, SDDL_REVISION_1, &(sa.lpSecurityDescriptor), 0)) return 0;
  return CreateDirectory(szfolder, &sa);
}

Fichiers créés dans ce dossier hériteront des droits du dossier.

ciao...
BruNews, MVP VC++
3
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 23:40
Bonjour,

C'est bon je l'ai trouvé à l'adresse : http://www.koders.com/c/fid9045DE7B2531E2DCA4A356695E5C7F3DAB013326.aspx

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
3
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
20 août 2007 à 10:09
Bonjour,
je n'ai pas la réponse pour le dossier Application Data...
Mais tu peux très bien le mettre dans le répertoire où est installé ton  appli comme Program Files\My apply
Et tout le monde pourra y accéder.
Cdlt,
Pierrick
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 10:15
Bonjour,

Non c'est justement là le problème.
D'abord Program Files est inacessible en écriture à un compte limité et en plus même dans le répertoire de développement impossible d'écrire en compte limité si le fichier a été créé sur un compte admin.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0

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

Posez votre question
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 15:29
Bonjour,

Ok merci je teste !

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 22:42
Bonjour,

Voilà les erreurs générées :
In file included from main.cpp:23:
outils.hpp: In function `int CreerDossierTousUsers(char*)':
outils.hpp:12: error: `SDDL_REVISION_1' undeclared (first use this function)
outils.hpp:12: error: (Each undeclared identifier is reported only once for each function it appears in.)
outils.hpp:13: error: `ConvertStringSecurityDescriptorToSecurityDescriptor' undeclared (first use this function)

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 22:48
Bonjour,

J'ai été voir MSDN :
Header : Declared in Sddl.h.

Je n'ai pas ce fichier par contre la librairie qui est associé à cette fonction est présente.
Donc en fait il me faut juste le header.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2007 à 23:38
Si tu as regardé MSDN, suffit d'un copier coller:

BOOL __stdcall ConvertStringSecurityDescriptorToSecurityDescriptor(
  LPCTSTR StringSecurityDescriptor,
  DWORD StringSDRevision,
  PSECURITY_DESCRIPTOR* SecurityDescriptor,
  PULONG SecurityDescriptorSize
);

ciao...
BruNews, MVP VC++
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 23:41
Bonjour,

Désolé sous Dev-C++ le header n'existe pas.
Si tu regarde le lien tu vera qu'il y a plus que sur MSDN.
Maintenant je teste l'efficacité et je te donnes des nouvelles.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
20 août 2007 à 23:42
Bonjour,

ça m'a l'air de marcher cette fonction.

Merci bien BruNews.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2007 à 23:58
T'avais pas besoin de tout le header, une fois inclus la lib, tu mets la déclaration de la fonction en haut du module qui l'emploie et tout va bon.

ciao...
BruNews, MVP VC++
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
21 août 2007 à 00:21
Bonjour,

Sauf que SDDL_REVISION_1 n'est pas présent.
Au moins je suis tranquille.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 août 2007 à 00:31
ah oui, exact.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous