De déterminer si les MSI/EXE prend en charge certaines drapeau/argument?
Je suis de la création d'une auto-updater qui peut exécuter des Msi et Exe. Ces Msi/Exe ne sont pas les miens. Je voudrais utiliser tout sans surveillance/option d'installation silencieuse si elle existe. Est-il possible de déterminer si une MSI/EXE a une sorte d'installation sans assistance de soutien et, le cas échéant, obtenir le bon argument, donc je peux la passer au fichier quand je le lance? Je sais, par défaut '/quiet " est l'option d'installation silencieuse, mais je suis également curieux de savoir Exe et tout les Msi qui peut-être avez personnalisé cette option.
Cette question - détecter les paramètres msi pour installation sans assistance - est similaire, mais les liens dans la réponse sont cassé et je n'arrive pas à comprendre à partir de la réponse à ce que je ferais.
Grâce.
- En quoi sont-ils brisés? Les erreurs? Les choses ne s'affichent pas? Précisant dans votre question pourrait permettre aux gens de vous aider à l'onu-les briser.
- Ce lien scriptbox.à l'.tt/... - qui a été l'une dans la réponse qui a un script est cassé.
Vous devez vous connecter pour publier un commentaire.
Si c'est MSI, puis les paramètres sont standard, vous pouvez obtenir la liste des options avec
msiexec /?
ou de la vue les docs sur le site MSDN.Il n'y a aucun moyen de détecter des options pour un arbitraire EXE qui options qu'il prend en charge, le cas échéant. Essayez de trouver des docs de la part du vendeur, ou essayer
/?
interrupteur...Il suffit d'exécuter à travers le programme d'installation avec l'enregistrement activé et on vous montrera tous les paramètres possibles que le MSI accepte.
Par exemple:
msiexec /log logfile.txt /i installer.msi
Courir à travers l'ensemble du programme d'installation et le logfile.txt vous montrera les praticables paramètres comme "la Propriété(S)" ou "Propriété(C)", avec le nom en majuscules.
Source:
http://www.codeproject.com/Articles/16767/How-to-Pass-Command-Line-Arguments-to-MSI-Installe
(Note: j'ai posté une variation de cette réponse sur le détecter les paramètres msi pour installation sans assistance question que vous avez mentionné.)
Il y a lessmsi, est un excellent outil qui fonctionne certes ici si vous êtes prêt à utiliser une interface graphique, et de faire un peu le manuel de l'enquête.
Vous pouvez essayer la commande suivante:
...Mais il est peu probable que le ci-dessus a tout ce que vous cherchez.
D'une manière essentiellement à garantir que vous obtenez toutes les propriétés possibles consiste à effectuer une installation, de réparation, ou de le désinstaller avec le fichier MSI et du journal le processus tel que mentionné dans Jon Heese de réponse.
Si vous voulez moins de texte à parcourir dans le fichier journal, vous pouvez définir le paramètre de journal à journal seules les propriétés:
ou
Je préfère une méthode qui contourne la nécessité d'installer/supprimer/réparation-ing par le biais de "l'extraction". Les avantages de cette méthode a plus de lessmsi est qu'il ne nécessite pas un 3e partie utilitaire (c'est à dire lessmsi), et il n'exige pas de vous de jouer avec toutes les installations. Vous avez besoin d'avoir suffisamment d'espace disque pour installer le programme (et probablement un peu d'espace supplémentaire, pour être sûr). Ensuite, vous pouvez faire quelque chose comme:
Noter que le
<absolute_path_to_extract_to>
peut pointer vers un répertoire inexistant (la commande va créer les répertoires nécessaires ou échec).Si vous détestez l'installation de l'INTERFACE utilisateur pour quelque raison que ce soit, vous pouvez ajouter le
/qr
option, qui permettra de "réduire" et éventuellement éliminer l'INTERFACE, sans porter atteinte à la propriété le processus d'enregistrement. Soyez averti cependant, si vous allez plus bas que l'INTERFACE utilisateur réduite (viz./qb
|/passive
ou/qn
|/quiet
), votre<msi_property_logfile>
peut-être manquant, certaines propriétés.La commande suivante peut produire efficacement une Propriété de fichier journal pour chaque fichier MSI dans un répertoire (utiliser
DIR /B
plutôt queDIR /B/S
de ne pas répéter les sous-répertoires; supprimer lesRD
de commande si vous souhaitez conserver les fichiers extraits):et si vous souhaitez exécuter que dans PowerShell pour quelque raison que ce soit, utilisez la commande ci-dessous à la place:
Une fois le processus terminé, il vous suffit d'ouvrir le journal et notez les lignes commençant par
Property(S):
/Property(C):
comme Jon Heese mentionné.En règle générale, les paramètres de propriétés qui peuvent être définies pour une installation sont enregistrés dans TOUTES les CASQUETTES; par exemple,
ALLUSERS
peut être définieALLUSERS=1
de sorte que l'installation est destinée à tous les utilisateurs.