2017-09-10 9 views
0

J'ai un problème étrange.Appel d'un script PowerShell à partir du projet InstallShield

J'ai un projet InstallShield (qui crée setup.exe) qui contient un élément d'action personnalisé - appeler un script Powershell.

Tout le script est d'installer 3 mises à jour Adobe Reader (1 fichier exe et 2 fichiers msp) au-dessus du Adobe Reader 11.0.0 déjà installé.

Quand j'appelle le script de mon auto - il fonctionne très bien. Cependant, après la fin du setup.exe, il semble qu'une seule mise à jour (le fichier exe) a été réellement installée (la version adobe reader après l'installation est 11.00.10, ce qui est le résultat de l'exécution du fichier exe uniquement. .).

Toutes les 3 mises à jour d'adobe assis dans le même dossier et le script Powershell premier emplacement fixe il dans ce dossier. Lors de l'exécution des mises à jour manuellement après l'installation - il fonctionne également très bien et le met à jour à 10.00.22 (ce qu'il devrait être).

Des idées pourquoi cela se passe-t-il?

Voici mon script Powershell:

Set-Location "C:\myProject\adobeUpdates" 

Start-Process .\AdbeRdr11010_en_US.exe -ArgumentList '/q /norestart /sPB /rs /msi' -WindowStyle hidden -Wait 

ping 1.1.1.1 -n 1 -w 10000 # Tried to add a delay but wasn't helpful 

Start-Process -FilePath “AdbeRdrUpd11021.msp” -ArgumentList '/qn' -Wait 

Start-Process -FilePath “AdbeRdrUpd11022_incr.msp” -ArgumentList '/qn' -Wait 

Merci beaucoup

+1

Pouvez-vous ajouter un commutateur de journal à l'argument? Quelque chose comme '/ L * V "C: \ temp \ patch.log"' Penser que cela pourrait vous donner plus d'informations sur les raisons pour lesquelles ces mises à jour ne sont pas installées. – MattMoo

+1

powershell vous permet de faire 'Start-Sleep -Seconds 10' d'ailleurs. – ConnorLSW

+0

Ne devriez-vous pas ajouter le drapeau "/ update" lors de l'appel de vos fichiers ".msp"? –

Répondre

0

résolu le problème, c'est le script de travail:

Set-Location "C:\myProject\adobeUpdates" 

Start-Process .\AdbeRdr11010_en_US.exe -ArgumentList '/q /norestart /sPB /rs /msi' -WindowStyle hidden -Wait 

ping 1.1.1.1 -n 1 -w 10000 

Start-Process .\AdbeRdrUpd11021.msp -ArgumentList '/qn' -Wait 

Start-Process .\AdbeRdrUpd11022_incr.msp -ArgumentList '/qn' -Wait 

Je ne sais pas ce qui est différent et aimerait quelqu'un à expliquer mais de toute façon cela fonctionne très bien maintenant.