web-dev-qa-db-fra.com

Installer msi avec msiexec dans un répertoire spécifique

Je veux installer un msi avec msiexec dans un répertoire spécifique. J'utilise:

msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb

Il ne fonctionne pas avec "INSTALLDIR", car msi est installé dans le chemin par défaut et non dans mon chemin spécifique.

35
Cataldo

Utilisez TARGETDIR au lieu de INSTALLDIR. Notez que les guillemets pour la propriété TARGETDIR sont uniquement autour du chemin d'accès dans le cas d'espaces.

msiexec/i "chemin msi" TARGETDIR = "C:\mon dossier"/qb

40
Ciprian

InstallShield 12

INSTALLDIR représente le répertoire d'installation principal du produit pour une installation standard basée sur Windows Installer (ou InstallScript MSI), telle que l'utilisateur final qui lance Setup.exe ou votre base de données .msi.

TARGETDIR représente le répertoire d'installation pour une installation InstallScript ou pour une installation administrative basée sur Windows Installer (lorsque l'utilisateur exécute Setup.exe ou MsiExec.exe avec le commutateur de ligne de commande/a).

Dans un projet InstallScript MSI, la variable InstallScript MSI_TARGETDIR enregistre la cible d'une installation administrative. 

14
David Schwartz
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q

Seule cette variante a bien fonctionné.

6
Moscow Boy

En fait, les deux INSTALLPATH/TARGETDIR sont corrects. Cela dépend de la façon dont MSI traite cela.

Je crée un MSG en utilisant wixToolSet. Dans le fichier WXS, il y a un nœud "Répertoire", le répertoire racine pouvant ressembler à ceci:

<Directory Id="**TARGETDIR**" Name="SourceDir">;

Comme vous pouvez le constater: Id est ce que vous devez utiliser.

3
xiaoym

Cela devrait fonctionner:

msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
3
Shibiraj

Utilisez INSTALLLOCATION. Lorsque vous rencontrez des problèmes, utilisez le fichier/lv log.txt pour vider les journaux détaillés. Les journaux vous indiqueraient si une modification de propriété annulait vos propres options . Si vous avez déjà installé le produit, une deuxième exécution peut simplement le mettre à jour sans modifier l'emplacement d'installation. Vous devrez d'abord désinstaller (utilisez l'option/x).

2
ezzadeen

Celui-ci a fonctionné pour moi aussi

msiexec /i "msi path" INSTALLDIR="D:\myfolder" /q

J'avais essayé deux autres itérations et les deux installées dans la configuration par défaut C:\Program Files

INSTALLDIR = "D:\myfolder"/q l'a installé sur l'autre lecteur.

1
ttoomm

Dans mon cas, ils ne travaillaient pas tous et finalement 

msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb

J'ai vérifié le log.txt comme décrit par ezzadeen et trouvé "INSTALLFOLDER" dedans.

1
Colibri

pour mon msi, je devais définir DEFAULTPATHC = "D:\myfolder" car plus tard dans le processus d'installation, INSTALLDIR et TARGETDIR étaient réinitialisés pour refléter la valeur dans DEFAULTPATHC

1
p4ndepravity

Si vous avez utilisé Advanced Installer pour construire votre .msi, vous voudrez utiliser APPDIR=

0
lcg1ant