2 votes

Où mon application doit-elle placer les exécutables binaires dans Windows 7 ?

J'ai créé une petite application Windows et je suis en train de créer une installation pour celle-ci en utilisant NSIS, mais ce que je n'arrive pas à comprendre, c'est où mettre les exécutables pour respecter le nouveau modèle de sécurité de Windows.

Traditionnellement, nous plaçons les fichiers du programme dans, eh bien, "c:\program files". Avec le modèle de sécurité devenant de plus en plus compliqué avec chaque version de Windows, certains utilisateurs ont des comptes restreints et je ne suis pas sûr que l'installation dans Program Files fonctionnera pour ces utilisateurs.

Où puis-je installer les fichiers de mon programme pour répondre aux besoins de ces utilisateurs à privilèges plus bas ?

Oh, et je veux éviter ClickOnce.

3voto

Bob Fanger Points 732

Si vous regardez les exigences du "Programme de logo logiciel pour Windows 7 Client", vous trouverez la réponse:

Installer dans les dossiers corrects par défaut

Raison: Les utilisateurs doivent avoir une expérience cohérente et sécurisée avec l'emplacement d'installation par défaut des fichiers, tout en conservant la possibilité d'installer une application à l'emplacement de leur choix. Il est également nécessaire de stocker les données d'application à l'emplacement correct pour permettre à plusieurs personnes d'utiliser le même ordinateur sans corrompre ou écraser les données et paramètres des autres.

Critères: Windows fournit des emplacements spécifiques dans le système de fichiers pour stocker des programmes et des composants logiciels, des données d'application partagées et des données d'application spécifiques à un utilisateur:

  • Les applications doivent être installées dans le dossier Program Files (%ProgramFiles% pour les applications natives 32 bits et 64 bits, et %ProgramFiles(x86)% pour les applications 32 bits s'exécutant sur x64 respectivement) par défaut. Les données utilisateur ou les données d'application ne doivent jamais être stockées à cet emplacement en raison des autorisations de sécurité configurées pour ce dossier
  • Toutes les données d'application qui doivent être partagées entre les utilisateurs sur l'ordinateur doivent être stockées dans ProgramData
  • Toutes les données d'application exclusives à un utilisateur spécifique et ne devant pas être partagées avec d'autres utilisateurs de l'ordinateur doivent être stockées dans Users\\AppData
  • Ne jamais écrire directement dans le répertoire "Windows" et ses sous-répertoires. Utilisez les méthodes correctes pour installer des fichiers, tels que des polices ou des pilotes
  • Dans les installations "par machine", les données utilisateur doivent être écrites lors de la première exécution et non pendant l'installation. Cela est dû au fait qu'il n'y a pas d'emplacement utilisateur correct pour stocker des données au moment de l'installation. Les tentatives par une application de modifier les comportements d'association par défaut au niveau de la machine après l'installation seront infructueuses. Au lieu de cela, les valeurs par défaut doivent être revendiquées au niveau de chaque utilisateur, ce qui empêche les utilisateurs multiples d'écraser les valeurs par défaut des autres.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X