Déterminez le nom d'une fonctionnalité dans un MSI à installer à partir de la ligne de commande

12

J'essaie d'installer une application (SalesLogix 7.2 Admin Tools and Servers) à partir d'un package MSI, mais je souhaite uniquement installer une fonctionnalité particulière. Comment puis-je déterminer le nom de la fonctionnalité pour pouvoir essayer d'utiliser le paramètre ADDLOCAL?

Sélections SLX MSI

Cylindrique
la source

Réponses:

10

Vous pouvez exécuter le programme d'installation en mode de journalisation détaillée

msiexec /i product.msi /l*v log.txt

Recherchez ensuite les modifications apportées à la ADDLOCALpropriété dans le journal. Ainsi, vous pourrez déterminer quelles fonctionnalités sont installées avec la sélection ci-dessus dans l'interface graphique.

Sinon, vous pouvez utiliser Orca comme suggéré par jscott et analyser le package vous-même. Bien que je pense que l'utilisation d'un journal détaillé est une solution plus simple et vous ne manquerez pas une fonctionnalité à ajouter ADDLOCALpour obtenir une installation fonctionnelle.

Alexey Ivanov
la source
1
Parfait. Travaillé un régal. ADDLOCAL=Common,Administrator,Architect
Cylindrique
Heureux de vous aider! ;)
Alexey Ivanov
5

Obtenez une copie de Microsoftorca.exe - c'est un simple éditeur MSI. Il existe d'autres éditeurs qui devraient fonctionner aussi bien pour cela. Ouvrez le MSI à Orca et vérifiez le Featuretableau. Ce tableau répertorie tous les jeux de fonctionnalités disponibles, à condition que le fournisseur les ait utilisés pour créer le programme d'installation.

jscott
la source
2

Le moyen le plus simple serait de contacter le fournisseur de l'application et de savoir quels sont les commutateurs de ligne de commande. Cela dit, parfois un fournisseur choisit de ne pas rendre ces informations disponibles. Dans ce cas, j'aime utiliser Process Monitor pour observer le processus d'installation.

La plupart des installateurs fonctionnent de la même manière. Vous téléchargez un seul fichier et le fichier extrait tous les fichiers d'installation réels dans un répertoire temporaire. Étant donné que nous devons voir où le programme d'installation extrait, utilisez le moniteur de processus pour observer le programme d'installation dès qu'il est démarré. Ne poursuivez pas l'installation et ne le quittez pas. Si vous effectuez l'une ou l'autre des actions, les fichiers temporaires seront supprimés. Copiez tous les fichiers extraits du répertoire temporaire. Vous utiliserez ces fichiers pour votre programme d'installation personnalisé. Une fois que vous avez localisé le processus particulier (dans Process Monitor), filtrez tous les autres processus. Vous pouvez ensuite observer le processus tout en poursuivant la séquence d'installation. Ce que vous recherchez est une commande msiexec qui appelle l'installation de la fonctionnalité que vous avez demandée.

Cela peut être un long processus d'essais et d'erreurs, mais j'ai eu beaucoup de succès dans la personnalisation des installations d'applications où les fournisseurs ne fournissent pas ces informations ...

newmanth
la source
2
L'utilisation de Process Monitor peut être une expérience pénible (surtout si vous ne l'avez jamais utilisée auparavant). Pour commencer, je recommande d'utiliser la commande Inclure le processus à partir de la fenêtre pour sélectionner la fenêtre du programme d'installation (cliquez et maintenez sur l'icône et faites-la glisser vers la fenêtre de l'application du programme d'installation). Cela capturera l'ID de processus du programme d'installation. Vous pouvez ensuite utiliser la commande filter pour filtrer tout sauf ce processus. De plus, je désactive tout sauf l'activité de processus et de thread.
newmanth
1

Vous constaterez peut-être que le programme d'installation MSI prend en charge l' option d' installation administrative msiexec . Cela exécutera le programme d'installation, mais au lieu d'installer réellement le package, il générera un point d'installation pour le logiciel, personnalisé avec les options que vous spécifiez. Vous pouvez ensuite déployer le .msi créé au point d'installation spécifié, de la manière que vous déployez normalement votre logiciel.msiexec /a <yourpackage.msi>

Cela dépend en grande partie de ce que le fournisseur a inclus pour le support, donc selon la réponse de @ newmanth, vous devrez peut-être appeler le fournisseur et voir quelles options de déploiement ils prennent en charge.

Bryan
la source