55 votes

Où installer de petits programmes sans programme d'installation sous Windows ?

Sur la plateforme Windows, la plupart des grandes applications sont livrées avec leur propre programme d'installation qui crée des dossiers sous C:\Program Files et peut-être à d'autres endroits, et peut-être en ajoutant quelques clés de registre, etc.

Mais il existe encore un certain nombre d'outils qui consistent simplement en un .exe ou peut-être aussi un README et un .dll ou deux.

Comment installer ces outils ? Directement dans C:\Program Files ? Tous dans un sous-dossier sous C:\Program Files ? Quelque part en dessous de C:\Users\Me ? Dans un endroit totalement différent ?

Ou peut-être des approches différentes pour les outils avec seulement un .exe à ceux qui ont aussi d'autres fichiers, ou peut-être seulement à ceux qui ont des .dll doivent être traités différemment ...

Existe-t-il une méthode normalisée pour ce faire ? Une "meilleure pratique" ? Si la réponse dépend de la version de Windows, j'utilise Windows 7.

En particulier, ce qui pourrait sembler être la réponse évidente semble avoir un piège :

J'ai essayé de créer manuellement de nouveaux sous-dossiers sous C:\Program Files . En fait, je pensais l'avoir déjà fait, mais Windows affiche une boîte de dialogue Dossier de destination Accès refusé . Cela m'a incité à réfléchir à deux fois plutôt qu'à cliquer aveuglément. Continuer .

Destination Folder Access Denied

Partant du principe que de plus grands esprits que le mien se sont heurtés à ce problème à maintes reprises au fil des ans, j'aimerais demander à la communauté si une sorte de "meilleure pratique" a été acceptée.

37voto

miroxlav Points 11663

Utilisation C:\Tools

oder C:\Users\<user>\Tools
 

J'utilise de nombreux petits programmes sans installateur et je recommande ce qui suit :

  • Sauvegardez-les tous dans C:\Tools
  • Si un programme est constitué d'un seul fichier, il doit être placé directement sous la rubrique C:\Tools
  • Si un programme se compose de plusieurs fichiers, il faut le placer sous C:\Tools\ProgramName
  • Les outils SysInternals ont une catégorie spéciale C:\Tools\_SysInternals parce qu'ils sont nombreux

Je déménage simplement C:\Tools d'une machine à l'autre lors de la migration, fonctionne à merveille.

Exemple pratique (liste abrégée) :

C:\\Tools\\autoexec-elevated.bat
C:\\Tools\\cleanup.bat
C:\\Tools\\BabelMap.exe
C:\\Tools\\netmon.exe
C:\\Tools\\notifu.exe
C:\\Tools\\putty.exe
C:\\Tools\\UDPixel.exe
C:\\Tools\\battery.vbs

C:\\Tools\\3dclip-1.5.1\\
C:\\Tools\\alternatestreamview\\
C:\\Tools\\blender-2.71-windows64\\
C:\\Tools\\Notepad++\\
C:\\Tools\\QueryExpress\\
C:\\Tools\\winscp555\\
C:\\Tools\\Xinorbis\\

C:\\Tools\\\_Sysinternals\\accesschk\\
C:\\Tools\\\_Sysinternals\\Autoruns\\
C:\\Tools\\\_Sysinternals\\depends22\_x64\\
C:\\Tools\\\_Sysinternals\\depends22\_x86\\
C:\\Tools\\\_Sysinternals\\LogonSessions\\

J'espère que cela donne une idée.

EDIT : Informations complémentaires

Je suppose qu'en vertu de la installer dans votre question Comment installer ces outils ? Il s'agit en fait d'une configuration manuelle, quelque chose comme copier les dossiers.

Règle de base : Utilisez des dossiers créés manuellement pour des fichiers gérés manuellement. Laissez les dossiers système être utilisés par les processus (d'installation) que vous ne contrôlez pas directement. Vous aurez immédiatement l'avantage de savoir quel contenu vous appartient (et vous pouvez le copier librement) et quelle application est gérée par le programme d'installation.

Ainsi, lors d'une installation manuelle (par copie), il convient de ne pas utiliser les éléments suivants

  • C:\Program Files - les programmes trouvés ici ne peuvent pas être simplement migrés, ils doivent être réinstallés (donne une bonne indication pour la migration)
  • C:\Program Files (x86) - comme ci-dessus, mais sur les systèmes 64 bits, les programmes 32 bits vont ici (peut donner un indice pour déterminer si une application particulière est 32 bits ou 64 bits)
  • C:\ProgramData - trouvés ici montrent que ces programmes conservent certaines de leurs données à leur manière. Mais vous avez demandé s'il était possible de mettre votre programmes sous Data ? Ce n'est pas une bonne idée.
  • C:\Users\Steven\AppData - à nouveau, en mettant programmes sous les données n'est pas une bonne idée. Si vous avez posé une question sur les données, plusieurs choses intéressantes peuvent être écrites sur ce chemin. Mais pour les programmes, c'est tout simplement "non" :)

Chemin possible

  • C:\Users\Steven - peut être votre racine alternative s'il s'agit d'un ordinateur partagé et que vous souhaitez le garder en ordre, vous décidez de ne pas créer de répertoires globaux. Vous pouvez considérer que C:\Users\Steven\Tools pour vos programmes ou même C:\Users\Steven\Desktop\Tools si vous souhaitez utiliser des Bureau accès au dossier via un raccourci à partir de nombreux endroits dans Windows. Mais il est préférable d'opter pour la première solution et de placer le raccourci vers ce dossier sur le bureau ou à tout autre endroit souhaité.

Editer : Autre conseil utile :

Si vous souhaitez que certains de vos petits programmes soient reconnus dans Windows 10 Démarrage (pour une recherche incrémentale de leurs noms ou un démarrage instantané en surélevé en utilisant le menu Ctrl + Shift + Enter ), ajouter leurs raccourcis à cet endroit et les lancer une fois . (Vous pouvez alors les supprimer).

19voto

Alexey Ivanov Points 4189

Pour autant que je sache, il n'existe pas d'approche universelle.

Placer vos applications dans C:\Program Files est une méthode assez standard. Et vous obtiendrez le protection de l'accès Les utilisateurs normaux (et non élevés) ne peuvent pas écrire sur le site C:\Program Files . Vous ne pouvez donc pas supprimer ou écraser accidentellement ces fichiers, et ils sont mieux protégés contre les virus. C'est pourquoi vous recevez l'avertissement - demande d'élévation - lorsque vous essayez de créer un dossier dans le dossier C:\Program Files .

D'où, C:\Program Files es el le plus sûr pour les fichiers exécutables.

Toutefois, elle ne convient pas aux applications (portables) qui stockent leur configuration à proximité de l'interface utilisateur. .exe car ils ne pourront pas sauvegarder les changements de configuration.


C:\ProgramData sert à stocker les données d'application partagées par les utilisateurs. Par défaut, tous les utilisateurs peuvent y créer des fichiers et des dossiers, mais seul l'utilisateur qui les a créés peut les modifier.

Ce dossier pourrait être facilement utilisé pour des applications/outils partagés. En même temps, je n'ai jamais vu d'application dans ce dossier.


Si vous placez des applications dans votre profil d'utilisateur, C:\Users\<username> Les autres utilisateurs du système n'y auront pas accès. Vous disposez de toutes les autorisations pour votre profil, vous ne recevrez donc pas d'avertissement de sécurité. C'est la raison pour laquelle Chrome s'installe dans le profil de l'utilisateur : il peut se mettre à jour facilement sans demander d'élévation.

En mode par utilisateur, les paquets Windows Installer, .msi installer sur C:Users\<username>\AppData\Microsoft\Installer\<ProductId> . Il est donc tout à fait normal de conserver les applications non partagées dans le profil de l'utilisateur.

J'ai utils dossier dans le profil de mon utilisateur avec des applications qui ne sont utiles qu'à moi. Ce dossier est ajouté au profil de mes utilisateurs PATH pour faciliter l'accès à la variable d'environnement.

Pour les applications partagées, j'utilise C:\tools ou un répertoire similaire, éventuellement sur un autre disque. Il est ajouté au fichier global PATH variable.

9voto

Michael L Perry Points 2380

Je suis d'accord avec les réponses déjà données jusqu'à un certain point. Mais pour les très petits programmes (utils), j'ai tendance à les mettre dans le dossier bin (dans mon cas E:\bin ). Ces programmes sont généralement des fichiers exe simples ou mes propres scripts. J'ajoute ce dossier à la variable PATH afin de pouvoir utiliser ces programmes en ligne de commande (ce que j'ai tendance à faire assez souvent).

7voto

scwagner Points 3063

Pour autant que je sache, il n'existe pas de meilleures pratiques. C'est à vous de décider comment vous voulez gérer la situation.

J'ai tendance à suivre la même norme que pour toute application comportant un programme d'installation. S'il s'agit d'un exécutable ou d'une bibliothèque, je le place soit dans \Program Files\ s'il s'agit d'un 64Bit et Program Files (x86)\ s'il s'agit de 32Bit.

Les fichiers de données que j'ai l'habitude de stocker dans mon Users car ils sont normalement spécifiques à un utilisateur.

Il existe également des applications telles que Google Chrome et Click-Once Applications qui se déploient sur Users\AppData\ Cependant, ces derniers ne sont normalement pas disponibles pour les profils multiples.

Je préfère la première méthode car si je dois me connecter sur un autre profil ou en tant qu'administrateur, je peux toujours accéder aux applications.

En ce qui concerne l'avertissement de permission. Il s'agit exactement d'un avertissement . Il s'agit simplement de vous mettre en garde contre l'utilisation du dossier pour de mauvaises raisons, mais cela ne vous empêche pas de l'utiliser.

4voto

krowe Points 5343

Si vous cherchez à normaliser ces applications, je vous suggère d'utiliser la fonction Chocolatée les normes d'emballage. C'est une bonne chose pour de nombreuses raisons, notamment parce qu'un grand nombre de logiciels ont été mis à jour. déjà emballés pour vous et est prêt à être installé de n'importe où avec seulement quelques commandes.

Il est également facile de faire votre propres paquets pour les applications que vous ne pouvez pas distribuer librement. Vous avez probablement le droit de distribuer tout ce que vous possédez sur votre propre réseau ; pour ces applications, vous pouvez donc créer un dépôt local . Si vous gérez plusieurs ordinateurs ou si vous disposez d'une bande passante Internet limitée, cela peut s'avérer utile, même pour les produits gratuits.

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