Kovacic Posted September 3, 2014 Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
bordomavi Posted September 3, 2014 Share Posted September 3, 2014 (edited) RunWait('msiexec.exe /x "' & @HomeDrive & '\Trend\IdfClient.msi"') it is enough because RunWait command is already waiting close "IdfClient.msi" Edited September 3, 2014 by bordomavi Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
bordomavi Posted September 3, 2014 Share Posted September 3, 2014 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? Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted September 3, 2014 Moderators Share Posted September 3, 2014 Do you see any difference if you use ShellExecuteWait? That is usually my preference over Run or RunWait when doing an install. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Bert Posted September 3, 2014 Share Posted September 3, 2014 look at the Vollatran project. in it's code it does exactly what you want. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Moderators Solution JLogan3o13 Posted September 3, 2014 Moderators Solution Share Posted September 3, 2014 What happens if you write it out rather than trying it from a variable? ShellExecuteWait('msiexec.exe', '/i <params>') Kovacic 1 "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 @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. C0d3 is P0etry( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Kovacic Posted September 3, 2014 Author Share Posted September 3, 2014 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( ͡° ͜ʖ ͡°) Link to comment Share on other sites More sharing options...
Bert Posted September 4, 2014 Share Posted September 4, 2014 @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. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now