MSI + MST script with WinBatch?
I'm preparing a CD for our offsite workers, and I don't think we've ever had to send one out before with an MSI+MST - I found one instance of an EXE + MST, though.
Can anyone help me with the correct syntax for this installation? We have to send it via WinBatch exe since we use the runas command - our users do not have administrative rights.
So far, I've gotten nowhere - I keep getting Windows Installer errors so the switch syntax I'm using is incorrect. What the command line would say is
msiexec /i "msifile.msi" TRANSFORMS="mstfile.mst" /qn
Thanks for any help!
Can anyone help me with the correct syntax for this installation? We have to send it via WinBatch exe since we use the runas command - our users do not have administrative rights.
So far, I've gotten nowhere - I keep getting Windows Installer errors so the switch syntax I'm using is incorrect. What the command line would say is
msiexec /i "msifile.msi" TRANSFORMS="mstfile.mst" /qn
Thanks for any help!
0 Comments
[ + ] Show comments
Answers (11)
Please log in to answer
Posted by:
joefoerster
11 years ago
Here's what worked for me.
The variables:
_Install3name = 'msiexec.exe'
_args3 = 'transforms="<pathto.mst>" /i "<pathto.msi>" /qn'
The install command:
_myReturn = RunShell("%_Install3name%", ' %_args3%', "", @HIDDEN, @GETEXITCODE)
The catch is, with a regular MSI, you can just run the MSI directly but for one with a transform, you have to run MSIEXEC directly and pass the transform and MSI paths as an argument.
Posted by:
madhatter
19 years ago
The syntax looks right. I suggest putting the fully qualified path in your msifile and mstfile names. And if there are spaces in your path, be sure to enclose the whole path in quotes. Quite often folks forget to use quotes and msiexec interprets the space in the path as a parameter and errors out because msiexec doesn't understand the parameter that it thinks is being passed.
Posted by:
angelia
19 years ago
Sorry - the info I typed in the above post works great from command line. Trying to get it to run through a WinBatch, however, isn't happening.
I've tried several changes, but here's what throws me errors right now:
RunWithLogon("msiexec %PATHTOFIXES%\Adobe Reader 7.0.5.msi","/qn","", @NORMAL, @WAIT,runas_user, runas_domain, runas_pswd,0)
I can take out the /qn and leave "" and it still doesn't work. Plus, it's not even applying a transform at this point, and it needs to.
Here's a line I've tried w/the transform:
RunWithLogon("%Adobe7%\Adobe Reader 7.0.5.msi","/TRANSFORMS=%Adobe7%\Reader705.mst", "", @NORMAL, @WAIT, runas_user, runas_domain, runas_pswd, 0)
I've also tried appending the /qn after the line w/the TRANSFORMS before the quote is closed - nothing.
I've tried several changes, but here's what throws me errors right now:
RunWithLogon("msiexec %PATHTOFIXES%\Adobe Reader 7.0.5.msi","/qn","", @NORMAL, @WAIT,runas_user, runas_domain, runas_pswd,0)
I can take out the /qn and leave "" and it still doesn't work. Plus, it's not even applying a transform at this point, and it needs to.
Here's a line I've tried w/the transform:
RunWithLogon("%Adobe7%\Adobe Reader 7.0.5.msi","/TRANSFORMS=%Adobe7%\Reader705.mst", "", @NORMAL, @WAIT, runas_user, runas_domain, runas_pswd, 0)
I've also tried appending the /qn after the line w/the TRANSFORMS before the quote is closed - nothing.
Posted by:
artiahc_elay
19 years ago
Posted by:
angelia
19 years ago
It's enabled. I'm using the admin password - it's not throwing a password error, it's telling me the parameters are incorrect. Any other runas command that I use (we do windows updates on this same script through runas as well, but they're exe files) work fine.
I just can't seem to get WinBatch and MSI+MST to work properly, and I'm sure it's the syntax. Problem is I've tried everything I can think of (I've tried lines other than the above, too, with varying error messages - this is the closest I've gotten).
I just can't seem to get WinBatch and MSI+MST to work properly, and I'm sure it's the syntax. Problem is I've tried everything I can think of (I've tried lines other than the above, too, with varying error messages - this is the closest I've gotten).
Posted by:
artiahc_elay
19 years ago
Posted by:
artiahc_elay
19 years ago
Posted by:
angelia
19 years ago
Posted by:
angelia
19 years ago
Yet another 1932: "Winexec Error: The parameter is incorrect"
RunWithLogon(runas_cmd,"","",@NORMAL,@WAIT, runas_user, runas_domain, runas_pswd,0)
runas_cmd = "msiexec /i C:\temp\Oct05\msifile.msi TRANSFORMS=c:\temp\Oct05\mstfile.mst /qn"
this is quite frustrating as you can imagine. I don't know what parameter it wants me to pass, but it seems to have issue with the first set of quotes being empty.
RunWithLogon(runas_cmd,"","",@NORMAL,@WAIT, runas_user, runas_domain, runas_pswd,0)
runas_cmd = "msiexec /i C:\temp\Oct05\msifile.msi TRANSFORMS=c:\temp\Oct05\mstfile.mst /qn"
this is quite frustrating as you can imagine. I don't know what parameter it wants me to pass, but it seems to have issue with the first set of quotes being empty.
Posted by:
artiahc_elay
19 years ago
Your runas_cmd1 should contain just the name of the desired executable(msiexec.exe) not the whole thing, the first set of quotes you are talking abt should contain the parameters if required by the application.
runas_cmd1 = "msiexec.exe"
RunWithLogon(runas_cmd1, "TRANSFORMS=mstfile.mst /i C:\temp\Oct05\msifile.msi /qn", "", @NORMAL, @NOWAIT,runas_user, runas_domain, runas_pswd,0)
and what are using for runas_domain ?? "" or "." or domain name
runas_cmd1 = "msiexec.exe"
RunWithLogon(runas_cmd1, "TRANSFORMS=mstfile.mst /i C:\temp\Oct05\msifile.msi /qn", "", @NORMAL, @NOWAIT,runas_user, runas_domain, runas_pswd,0)
and what are using for runas_domain ?? "" or "." or domain name
Posted by:
angelia
19 years ago
Domain is "." - I'm getting an error "installation package can't be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package." - when I switch the command line around to have the /i msi and then the transforms it gives me the same thing...
RunWithLogon(runas_cmd1,"/i msifile.msi TRANSFORMS=mstfile.mst","",@NORMAL, @WAIT,runas_user, runas_domain, runas_pswd, 0)
runas_cmd1 is set to c:\windows\system2\msiexec.exe
RunWithLogon(runas_cmd1,"/i msifile.msi TRANSFORMS=mstfile.mst","",@NORMAL, @WAIT,runas_user, runas_domain, runas_pswd, 0)
runas_cmd1 is set to c:\windows\system2\msiexec.exe
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.