Ce qui peut provoquer MSIExec Erreur 1619 'Ce package d'installation n'a pas pu être ouvert
Je suis d'essayer d'automatiser un service d'installation et de désinstallation d'un ensemble de fichiers MSI (généré par WiX) à partir d'un pack d'échantillons de programmes. Pour une raison quelconque, un .Fichier MSI qui est parfaitement heureux de les installer sur un double clic génère:
Ce package d'installation n'a pas pu être ouvert. Vérifiez que le package existe et que vous pouvez accéder, ou contactez le fournisseur de l'application pour vérifier que c'est un package Windows Installer valide.
quand j'invoque avec MSIEXEC de la manière suivante:
<ItemGroup>
<_SampleMsi Include="$(_ArtifactsPathAcceptanceSamples)\**\*.msi" />
</ItemGroup>
<Exec Command="$(WixDir)\smoke "%(_SampleMsi.Identity)""/>
<!--Guarantee precondition even if cleanup didn't work-->
<Exec Command="msiexec -passive -norestart -x "%(_SampleMsi.Identity)"" IgnoreExitCode="true" />
<Exec Command="msiexec -norestart -i "%(_SampleMsi.Identity)"" />
<!--Uninstall of every sample should also always work-->
<Exec Command="msiexec -passive -norestart -x "%(_SampleMsi.Identity)"" />
Le même problème se produit également lorsque j'ai essayer de désinstaller basé sur l'Id de Produit GUID:-
msiexec -passive -norestart -x FC7445BB-7E1D-4E36-A42A-CFA56263E453
Ce qui donne?
OriginalL'auteur Ruben Bartelink | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
Ne pas prendre le texte du message littéralement. Tout ce que vous devrait être la conclusion est que misexec est le traitement de votre commande sous un nom de fichier, et ça n'a pas l'obtenir pour charger et de processus de la entirity de sa satisfaction. Si c'est parce que le chemin était trop long, les autorisations ont été refusées, ou n'importe quel nombre d'autres conditions ne sont limités que par votre imagination (la plupart des articles de base de connaissances semblent se rapportent à l'Installateur problèmes de cache, ce qui est généralement le GUID de la syntaxe ou de la correction/mise à niveau des options)
Il vous manque les accolades de la GUID, de le tromper. Je veux dire que vous ne savez il ya des croisillons sur le GUID même si
msiexec /?
ne marche pas vous dire ou de vous montrer?!c'est à dire que vous devez le remplacer
FC7445BB-7E1D-4E36-A42A-CFA56263E453
avec{FC7445BB-7E1D-4E36-A42A-CFA56263E453}
(J'avais arrêté de faire confiance/la lecture, les sorties et envisageait-il une possibilité que le GUID a été la résolution d'un cache MSI qui msiexec était malheureux pour la même raison qu'il semblait être malheureux avec l'installation de la syntaxe, qui est ce que tous les articles de base de connaissances dans cet espace ont tendance à parler.)
Le chemin d'accès contient relative sauts qui, malgré une nette longueur d' <160 caractères, ont une brute longueur >160 caractères si le fichier sous-jacent Api d'étouffement. Des gens comme écrit générique messages d'erreur qui sont trompeuses.
Vous pouvez résoudre le problème en remplaçant
Identity
ci-dessus avecFullPath
dans chaque dosage, expression utilisée.Une autre façon d'y remédier est de un
WorkingDirectory
parExec
msiexec
Oui, vous m'avez pris 😀 c'était le coller ici ou coller sur un wiki interne. Je trouve ça incroyable de voir comment le peu d'info est là sur le msiexec de la spéléologie. Semble que "évidents" dépannage des trucs de la vie dans l'esprit de quelques-uns installer des experts de la...
msiexec /i .\MyFile.msi
ne fonctionne pas, parce que de la .\ Qui idi*t à MME écrit ce programme, de toute façon?vous pouvez peut-être contourner en passant uniquement le nom de fichier, puis de mettre le chemin d'accès dans le
Exec
'sWorkingDirectory
pourrait vous permettre de gérer cela ?Oh, je suis le seul à me plaindre, heheh.
msiexec /i MyFile.msi
fonctionne très bien. Mais j'ai été en utilisant l'onglet achèvement, ce qui ajoute automatiquement .\OriginalL'auteur Ruben Bartelink