Mon application est installée via NSIS.Où stocker les données inscriptibles devant être partagées par tous les utilisateurs dans un programme d'installation Vista?
Je souhaite que le programme d'installation installe le programme pour tous les utilisateurs.
Je peux le faire en installant dans le répertoire 'Program Files'.
Il existe un fichier de base de données (firebird) que tous les comptes d'utilisateurs du système doivent partager.
Si je stocke ce fichier de base de données dans le répertoire 'Program Files', il sera en lecture seule.
Si je le stocke dans le répertoire APPDATA des utilisateurs, ils auront chacun une copie différente, lorsqu'un utilisateur ajoute des données que les autres ne verront pas. Option 1 - Dans mon répertoire d'application sous 'Program Files', créez un répertoire 'Data', dans mon installateur, faites en sorte que ce répertoire soit accessible à tous, de manière à ce que la virtualisation des 'programmes' ne soit pas lancée. tous les utilisateurs peuvent mettre à jour le fichier et voir les changements de chacun.
D'autres options?
En fait, la solution correcte consiste à utiliser $ APPDATA dans NSIS * après * vous avez défini 'SetShellVarContext all'. – sorin
En plus de cela, vous devez modifier le 'ACL' lorsque vous créez le répertoire car, par défaut, il ne sera lisible que par le groupe' Users'. – sorin
@Sorin mais comment définir l'ACL dans NSIS? –