J'ai installé Chocolatey, mais j'aimerais installer des programmes sur un autre lecteur au lieu de C. C n'est qu'un petit disque SSD, mais j'ai d'autres lecteurs sur lesquels j'installe généralement des programmes.
Des idées?
Pour chaque application, vous devez connaître le commutateur de ligne de commande utilisé lors de l'installation pour modifier son répertoire d'installation et le transmettre à l'aide de --installArgs
. Voir Commande d’installation (choco install) et remplacement du répertoire d’installation par défaut ou d’autres concepts d’installation avancés.
Une autre façon de garantir un lecteur différent consiste à déplacer votre Program Files
sur un autre lecteur. Vous voudrez peut-être regarder cela il est possible de faire.
Nous avons ajouté le commutateur d'installation omniprésent! Si vous devez remplacer le répertoire d'installation et que vous ne voulez pas effectuer tout le travail pour déterminer la nature de ce commutateur, vous avez la possibilité d'utiliser un commutateur avec Chocolatey - Option de répertoire d'installation omniprésente (Éditions sous licence Seulement).
NOTE: Nous devons en quelque sorte assurer la longévité de la communauté des Chocolatey: un modèle FOSSium (freemium). La version Pro coûte 8 USD par mois (96 USD par an), vous coûte moins cher que de manger au restaurant une fois par mois, vous offre des fonctionnalités exceptionnelles et garantit que l'infrastructure de la communauté continue de fournir un excellent service et de s'améliorer. Lorsque vous utilisez un service gratuit (le référentiel de communauté, https://chocolatey.org/packages ), il n’est pas gratuit de fournir ce service. Nous avons donc sélectionné certaines fonctionnalités haut de gamme dans ces versions afin de fournir suffisamment de valeur pour en valoir le prix.
Vous pouvez déplacer le répertoire Chocolatey vers un autre emplacement, puis créer un lien symbolique fort à partir de l'emplacement par défaut - voir Le Guide complet de la création de liens symboliques (AKA Symlinks) sous Windows.
C'est à dire. mklink /J C:/ProgramData/chocolatey D:/my/new/location
Mais assurez-vous de créer les sauvegardes habituelles, les points de restauration, etc. avant de faire quoi que ce soit.
Pour un package MSI (ce qui est le plus souvent le cas sous Windows), utilisez:
choco install package-name --% -ia INSTALLDIR="c:\intall\path"
Pour savoir si le package est un package MSI, sur la page du package Chocolatey, sous Fichiers, recherchez chocolateyInstall.ps1
, puis recherchez:
fileType = 'msi'
Il a été testé avec Strawberry Perl .
Bien sûr, vous pouvez toujours utiliser le chocolat payé et bénéficier du commutateur d'installation omniprésent.
J'ai trouvé une autre astuce simple: installez choco comme d'habitude, et immédiatement après l'installation, déplacez le répertoire c:\programdata\chocolatey
où bon vous semble, puis mettez à jour la variable d'environnement ChocolateyInstall
et mettez également à jour la variable d'environnement PATH
afin que le sous-dossier\bin de choco soit trouvé après son déplacement.
Bien sûr, je ne sais pas si cela convient à d’autres paquets, mais je viens d’installer 7Zip et docker-machine sans aucun problème, donc cela semble fonctionner.
Il semblerait que Chocolatey ait maintenant créé un commutateur omniprésent:
Option de répertoire d'installation omniprésente (éditions sous licence uniquement)
Je n'ai pas eu l'occasion de l'utiliser personnellement, mais il semblerait que cela ferait l'affaire. Si un peu de manuel par application.
Ajout à la réponse de @ antonio Je voulais mettre mes conclusions sur d'autres cas pour définir le répertoire d'installation.
Pour fileType = 'exe'
, il semble y avoir deux types d’installateurs que vous pouvez distinguer avec la variable silentArgs
(également dans le chocolateyInstall.ps1
).
Jusqu'ici, j'ai trouvé /S
sous la forme silentArgs et quelques éléments plus longs commençant par /VERYSILENT /NORESTART
(qui semble être un programme d'installation InnoSetup).
/S
: Après de longs tests, j'ai constaté que cela fonctionnait (7Zip par exemple):choco install 7Zip.install -y -ia "\/D\=D:\Destination\\"
/VERYSILENT /NORESTART ...
: Selon le docs de la CLI du programme d’installation InnoSetup le commutateur doit être /DIR=<path>
bien que je ne sois pas sûr de l’appliquer.De plus, de nombreux installateurs n'utilisent aucune de ces solutions. VirtualBox, par exemple, attend certains arguments d’installation, le paquet jdk8 a des paramètres permettant de définir un répertoire de cette manière, etc. Si vous ne pouvez pas faire correspondre les variables silentArgs
et fileType
à celles décrites ci-dessus, vous devrez effectuer quelques recherches.
Pour VirtualBox, j’ai exécuté le programme d’installation avec /?
et une fenêtre contextuelle expliquant les paramètres pouvant être ajoutés.
Pour Mozilla Firefox, j’ai trouvé un article de communauté expliquant quels drapeaux et commutateurs étaient autorisés pour le programme d’installation.