Jump to content
Sign in to follow this  
Kovacic

MSIEXEC and RUN / RUNWAIT

Recommended Posts

Kovacic

Hi all, im having trouble with installs.. this worked for over a year and just out of nowhere, I'm having problems. 

I cant provide all my code because the program is close to 50k lines and it most likely wont work in your environment.. but here's what I got..

[ this is only an example of what i tried]

$ProcIDF = Runwait("msiexec /i C:\Trend\IdfClient.msi")
ProcessWaitClose($ProcIDF)
ProcessWaitClose("msiexec.exe")
; Install the next MSIEXEC

What keeps happening is, after the first MSI runs, it runs for a bit, then starts the next MSI, and I get an error saying there is already an installation in progress. Winwait works for most other installs, but MSIEXEC will sometimes kick off a sub process, then close itself. This causes windows to fail any other installs, because something is still installing, even though MSIEXEC is gone..

Is there a better way to monitor all processes and sub processes spawned by the original install, and proceed only after all processes have completed?

Either that, or monitor windows to see if an install is currently in progress..

Any help is appreciated! Thanks! 


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
bordomavi

RunWait('msiexec.exe /x "' & @HomeDrive & '\Trend\IdfClient.msi"')

it is enough because RunWait command is already waiting close "IdfClient.msi"

Edited by bordomavi

Share this post


Link to post
Share on other sites
Kovacic
RunWait('msiexec.exe /x "' & @HomeDrive & '\Trend\IdfClient.msi"')

it is enough because RunWait command is already waiting close "IdfClient.msi"

 

Normally this is true, but for some reason, even after the program called in runwait seems to finish and it moved to the next line, the next runwait gets stopped because the previous install claled by the previous runwait is still going.. this only happens with .msi installs though. 


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
bordomavi

Normally this is true, but for some reason, even after the program called in runwait seems to finish and it moved to the next line, the next runwait gets stopped because the previous install claled by the previous runwait is still going.. this only happens with .msi installs though. 

do you want make silent install this .msi?

Share this post


Link to post
Share on other sites
JLogan3o13

Do you see any difference if you use ShellExecuteWait? That is usually my preference over Run or RunWait when doing an install.


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
Kovacic

do you want make silent install this .msi?

 

Yeah, also on a side note, it looks like all other programs install without a problem, just trend is an issue.

I found a post of mine in the Trend forums from back in April that was never answered.


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Kovacic

Do you see any difference if you use ShellExecuteWait? That is usually my preference over Run or RunWait when doing an install.

I'm  not familiar with this, I'll check it out, thanks!!


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Kovacic

Do you see any difference if you use ShellExecuteWait? That is usually my preference over Run or RunWait when doing an install.

 

I gave it a shot with this code:

Global $Steelhead = "msiexec /i ""\\MyShare\SteelheadMobile_64.msi"" /norestart"
ShellExecuteWait($Steelhead)

{share names have been changed to protect the innocent} :)

I got an error that said ' Windows cannot find "msiexec /i ""MyShareSteelheadMobile_64.msi". please make sure you typed the name correctly..."

 

However, the .exe before it installed without issue.


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Kovacic

look at the Vollatran project. in it's code it does exactly what you want.

 

sounds good! I'll check it out! Thanks!


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
JLogan3o13

What happens if you write it out rather than trying it from a variable?

ShellExecuteWait('msiexec.exe', '/i <params>')
  • Like 1

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
Kovacic

@MBALZESHARI

I have something similar I made, its made for mass installing on a room full of machines.. 

 

I cant release it because of who I built it for, but I might be able to eventually join in that project if you are interested.

post-63131-0-37944100-1409767699_thumb.p


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Kovacic

 

What happens if you write it out rather than trying it from a variable?

ShellExecuteWait('msiexec.exe', '/i <params>')

 

Very cool! Trying this!!


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Kovacic

 

What happens if you write it out rather than trying it from a variable?

ShellExecuteWait('msiexec.exe', '/i <params>')

 

Seems this did the trick!! Many thanks!!!!


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites
Bert

@MBALZESHARI

I have something similar I made, its made for mass installing on a room full of machines.. 

 

I cant release it because of who I built it for, but I might be able to eventually join in that project if you are interested.

ScreenShot107.png

Mine works for the most part however it has need of improvement as well as fleshing out the additional functionality I had in mind.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×