/build/static/layout/Breadcrumb_cap_w.png

Problems packaging an MSI

I have a small program that I need to deploy to about 300 machines and I would like to do this with SCCM. The program is already in MSI format, but I'm having trouble figuring out how to make this unattended.

It has about 5 "NEXT" buttons to hit, a license agreement to accept, a server name to input and a password to input twice.

This program will also register 2 services once finished installing.

I've tried a few 3rd party packaging programs but they are not working. I just finished trying WinInstallLE and although it installs the program, it does not register the services when finished.

I have not found a clear answer anywhere on how to do this if the program is already in MSI format. Everything I'm readying is assuming I already know how to do this. I'm a complete novice and need some assistance from step 1.

Thanks in advance.

0 Comments   [ + ] Show comments

Answers (12)

Posted by: Arminius 12 years ago
Second Degree Green Belt
2
Next Buttons are usually handled by using the Q[x] switch.
The license agreement is generally handled in a couple of ways - sometimes the q[x] switch handles it. Otherwise, there is a public property to set to something like "yes" or "agree". Orca or an MSI editing tool can help you find the property to set and the value it looks for. It's usually called "AGREETOLICENSE" or "ACCEPTEULA". Those will be in the property table.
If it's a straight MSI, the 2 password entries should also be public properties as well as the server name. The MSI should also handle the service registrations - are you getting some kind of message after installation to handle? This should be able to be installed via a command line without a need for a packaging tool since it's an MSI already.

If you're completely new to packaging, you have a couple of options: 1. contact the vendor and get some help with the command line for this application. Some vendors have good help with respect to that. Others don't understand what you're asking and give you a blank stare when you ask. 2. Read the Phil Wilson text that you can find here at App Deploy, get an editing tool, and gain some familiarity with using it. That's how a lot of packagers got started in it - we started fiddling with the processand learned from our mistakes. ORCA is free, but it's also more challenging to use than a tool such as AdminStudio or WISE. Also, if you aren't familiar with it already, learn MSIEXEC syntax. (Sorry if I'm going too basic here; I'm reading that by "complete novice" you mean "I've never done this before and want to learn")
Posted by: 786_ak 12 years ago
Third Degree Green Belt
0
Can .mst answer your questions.

AK
Posted by: petergriffon 12 years ago
Yellow Belt
0
Thank you, and I don't mean to sound rude here....but this is the type of answer I'm finding. You are assuming I know what a .mst file is, how to create one, and how to use one. I have absolutely no idea how this works. I have repackaged EXE files as MSI's and it works great.....but I have no idea how to do this with an existing MSI.

Do you have any more in debth information or articles I can read?
Posted by: petergriffon 12 years ago
Yellow Belt
0
Yes, complete novice and need to learn. thank you.

I've actually checked out ORCA and managed to get the license agreement to default to accept, but i've populated the fields for server name and password and they are both still blank.

I'll check out that article and the other tools you mentioned.

Thank You again
Posted by: Arminius 12 years ago
Second Degree Green Belt
0
Not that I'm trolling for points, but if an answer at this forum does help you, feel free to rate the post.

If you're using ORCA, keep in mind that you'll need to generate the transform; otherwise you are changing your MSI.

If you're interested in packaging, to get a good start, Google "best practices in application packaging". That can help you avoid a lot of mistakes that new packagers make and also will give you some good pointers. I scanned the first article (the Dell one) and it looked like a good entry point. You've got a good start here - try stuff, see what you know and don't know, do a little research, and post your questions. There are some very knowledgeable folks here who have probably forgotten more than I'll ever know about packaging who seem glad to help, provided some basic research (ie Google your question) has been done.

Best wishes.
Posted by: dunnpy 12 years ago
Red Belt
0
If you're getting blank details where you think the fields are, it seems that that information maybe stored in another property.

Install manually entering your required details and create an installation log during install - msiexec /i mymsi.msi /l*v c:\<pathtologfile>\<nameoflogfile.log>

Then you'll have to wade through the log, looking for the server name, for example, and see where it says 'property changed' as to which property it is stored in.

As Arminius said, make sure you generate a transform for these modifications, leaving the vendor MSI unedited (Transform > New Transform and then Transform > Generate Transform when you've added your changes)

Run on a commandline - msiexec /i mymsi.msi TRANSFORMS=mytransform.mst /qn

Hope that helps,

Dunnpy
Posted by: petergriffon 12 years ago
Yellow Belt
0
that actually looks like it will help alot. I'm going to give it a try right now. THANK YOU!!!
Posted by: petergriffon 12 years ago
Yellow Belt
0
I had high hopes for that, but it's still not working. I created the log and sorted through it searching for the word license, my server name, and my password. I found all of the fields, then using orca, created an MST file. Unfortunately it's still not installing.

I also tried a trick that I saw somewhere else by running the arguments in the command prompt, example:
msiexec.exe /i mymsi.msi AGREETOLICENSE=YES SERVICESSTARTTYPE=auto SERVER_HOSTNAME=xxx.xxx.com SERVICES_PASSWORD=xxxxxx /quiet

I can see msiexec.exe running for about 5-6 minutes, then it disappears without anything being installed.

I see this at the end of the log file

MSI (s) (2C:30) [12:22:26:731]: Note: 1: 1708
MSI (s) (2C:30) [12:22:26:731]: Product: XXXX-- Installation operation failed.


Any other ideas?
Posted by: dunnpy 12 years ago
Red Belt
0
Those arguments in CAPITALS relate to the public properties in the Property Table that you've modified in ORCA with an MST.

Try running the commandline with the arguements without the /quiet, or /qn and step through the installation that way - if those properties are correct it *should* pre-populate those fields in the dialogues they relate to as you run through.

What application is it? If it is a fairly common app someone may have already produced an MST and they could share how they performed the customisations.

Dunnpy
Posted by: petergriffon 12 years ago
Yellow Belt
0
It's called Tripwire, which I found on this site. Here are the switches I found here: (I only need to accept the EULA, enter server name and password. The only thing that is populating using these switches is the server name. The EULA is still set to No by default, and the password fields are blank.)

ACCEPT_EULA=[true|false]
INSTALLDIR=<install_path>
INSTALL_FIPS
INSTALL_RTM=[true|false]
RTMPORT=<Event_Generator_port>
SERVICES_PASSWORD=<services_password>
START_AGENT=[true|false]
TE_PROXY_HOSTNAME=te_proxy_hostname>
TE_PROXY_PORT=<teproxy_port>
TE_SERVER_HOSTNAME=<server_host>
TE_SERVER_HTTP_PORT=<http_port>
TE_SERVER_PORT=<server_port>
Posted by: Arminius 12 years ago
Second Degree Green Belt
0
You've got the MSIEXEC syntax correct; I'agree with Dunnpy to run it without the quiet switch and see what happens. Doing that, your command would look like msiexec.exe /i mymsi.msi AGREETOLICENSE=YES SERVICESSTARTTYPE=auto SERVER_HOSTNAME=xxx.xxx.com SERVICES_PASSWORD=xxxxxx Then you can see if those boxes are populated or not.

If you really feel ambitious, you can dig through all that log. quite often the action that happens before Resultcode=3 is what fails. Question: are all the prerequisites installed on the workstation? I'd check that as a general rule when installs fail.

When running with the syntax above, you should get an error code. Note that and check it here: [link]http://desktopengineer.com/windowsinstallererrorcodes[/link] . That will help you get an idea fo what fails.
Posted by: petergriffon 12 years ago
Yellow Belt
0
Thanks for the help everyone. I finally got it down:

msiexec.exe /i te_agent.msi /qn TE_SERVER_HOSTNAME=xxxx.xxxx.com SERVICES_PASSWORD=xxxx RTMPORT=1169 ACCEPT_EULA=true
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ