I am trying to install a couple of applications that are .msi and .msp, respectively. However, when I run my procedure, it does not install. The script runs fine, and says success, but the install never takes place on the target machine. I have tried writing my own script and doing it via the "application deploy" in case that made a difference.
I have no trouble getting the install to take place when I am doing it via .exe.
Does it work using:
msiexec /q /i c:\path\to\something.msi
which would perform a quiet install of "something.msi"
No, nothing happens at all. The script runs, but no changes end up on the computer.
It makes troubleshooting it difficult, since I can't tell what is or isn't happening. I just notice that it happens with /msp and /msp, but not at all with .exe.
If you run msiexec by hand, does it work?
If so, in your script, you may have to run it as a user with appropriate permissions, or as system.
Trying to narrow it down to a problem with the msi itself, or a permissions/command execution problem.
Yes, I've done that too. I installed them both on my own computer manually with that same command line. Because I was concerned it might be a rights issue, I also impersonated my admin account when running the script to see if that had any effect, but it did not.
I've since noticed that the target test machine I've been running these on has gotten backed up a bit, and a few of these tests are now stuck on pending. I don't know if that means someething is waiting for a response somewhere, but I'm unable to find it.
I have found that sometimes the command that you want execute is not always the one that execute especially if you use script or managed variables.
So a trick that I use to problem solve these type of issues is to copy the exact command that you use to execute into a "Write Agent Procedure Log" in the script that way you can match the command line in the log with the one you intend to run.
Also if you show us a copy of you script we might be able to assist
Did you ever figure out what was causing your msi not to run. I have the same problem, if I use a .exe I have no problem but if its a msi I get nothing.
Are you using the execute shell command or execute file? If you are using the Execute File command you will need the path to msiexec.exe.
c:\windows\system32\msiexec.exe with the argument /q /i c:\path\to\something.msi
If you are using execute shell command you can just exe the command msiexec.exe /q /i c:\path\to\something.msi
I am using the execute file. So would i reference the the original exe that the msi are located in? In my case I took the itunessetup.exe and took the msi out of it. So i would have something like \\nameofshare\itunessetup.exe /q/n \\nameofshare\itunessetup\AppleApplicationSupport.msi /quiet/norestart
Your script should look like this:
argument: \\nameofshare\itunessetup\AppleApplicationSupport.msi /quiet/norestart
So anytime I try and run a msi I should do the execute: c:\windows\system32\msiexec.exe?
In other words you need to have the msiexec.exe to tell the .msi what to do.
That is why my msi always fail when I try to run them.