FGump
Posts: 65
Joined: Thu Jan 05, 2006 7:23 pm

Run a MSI with Transform (MST) during install?

Hello,

I am creating a installer package where I do not want any user input (limited basic user interface). I need to install a prerequisite (which is an existing MSI), so I placed this in the Prerequisites section under "Pre-install". I have selected the "/qb" install command line for the Basic UI so this also install somewhat silently (just showing the progress bar). Now I also need to chain/run another MSI, but this MSI has an MST (transform) that I must use. How do I do this? Normally I run these from the command line via msiexec.exe /i "name of msi" TRANSFORMS="name of mst" /qb

Therefore my questions are:

1). I'm not sure how to run this type of chained installation?

2). Is it possible to include these prerequisites inside my main MSI (bundle up the MSIs, MST, etc.)? I'd like to do this if possible without using an EXE setup. Any details how if this can be done and how would be very helpful. If not possible, do they just need to be either installed/run with the package or in the same folder/location as the installer to run?

Any help would be greatly appreciated!

Kind Regards,
FGump
Bogdan
Posts: 2791
Joined: Tue Jul 07, 2009 7:34 am
Contact: Website

Re: Run a MSI with Transform (MST) during install?

Hi,

You can bundle all the MSIs and MST inside a single MSI built with Advanced Installer.

- You'll need to add them as feature-based prerequisites, so this way the main package remains an MSI.
- Allow the main MSI to run either with basic or full UI
- for the MST, you can go to Setup Files tab for its target MSI and add the MST in the files list
- then configure the "Install command lines" to by setting this: TRANSFORMS="name of mst" /qb (Do not add the part with
msiexec.exe ... our prerequisites manager handles that, you need to add just the parameters)

Give it a try and let us know if you have any questions.

Regards,
Bogdan
Bogdan Mitrache - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
FGump
Posts: 65
Joined: Thu Jan 05, 2006 7:23 pm

Re: Run a MSI with Transform (MST) during install?

Thank you Bogdan. I have done what you specified, but it does not seem to install the MSI with MST at all.

1). When I include the prerequisite, I'm choosing "New Package Prerequisite" and have to choose a file from my system (not an installed file). I select the MSI which I need to get installed (I assume this will be included in my package at build time?) I want this to all me one Single MSI (so it can be deployed by SCCM).
I included the MST in the SetupFiles tab as "additional files" and put the TRANSFORM="MST Filename.mst" /qb as the "Basic UI" command line. This prerequisite MSI is rather old and appears to have some actual folders with files that it requires to be present with the MSI, so I included these as well. However, this is confusing since in the Setup Files tab I have selected "User files from disk" and there is no option to "Use installed files", so not sure if these need to be present "next to" my MSI or they will be bundled into it.

The issue I have is that when I run my MSI, it never installs the prerequisite! I see my desktop icon shortcut in my setup showing up way too quickly! In fact since it's not getting installed, I'm receiving an error later in my instal where I try to create a ODBC System DSN entry. The MSI prerequisite is an ODBC driver setup. My Advanced Installer package creates a DSN that I have imported in the ODBC section. However, when test/run my install (on a clean machine), everything goes well and I suddenly get an error that it can't create the ODBC System DSN because the drivers are not yet installed. I am placing the prerequisite MSI/MST in the "Feature-based" section. If I place it in the "Pre-Install" section it doesn't work either and want to generate an EXE setup. The EXE setup does work! - but I don't want an EXE setup (changing it to Single MSI does nto work).

2). Which section does it belong in? so that all my files are packaged in the MSI and result in an MSI

Additionally if I don't make my install "Limit to basic user interface (simple progress and error handling)" it launches the prerequisite. But I want it to be a limited/basic install and when I do this, the prerequisite does NOT install.

Any detail steps and explanations would be appreciated.

3). Are the "additional files" I add under the Setup Files tab removed after the installation is completed (i.e. only used during the install)?

Kind Regards,
FGump
Bogdan
Posts: 2791
Joined: Tue Jul 07, 2009 7:34 am
Contact: Website

Re: Run a MSI with Transform (MST) during install?

Hi,

1)
I assume this will be included in my package at build time?
Yes, you are correct, it is included in the main package.

2) I am sorry, I forgot to mention a limitation from our support for feature-based prerequisites.

Basically, it all relates to a Windows Installer limitation that prevents two MSI packages from installing at the same time. Because you have not UI dialogs,
just the progress, the only way for us to install your feature-based prerequisite is at the end of your main installation, which is too late for you.

As you noticed, if you run the main installer full UI, the installation of the prerequisite will work.

The only way to get your prerequisite installed before the main package is either to run the main package with full UI for a feature-base prerequisite
or to generate an EXE, with files inside, and have the prerequisite as a pre-install one. With the EXE installer you can have the "Limit to basic UI" option enabled.

What I would recommend is the EXE for the general users that install it manually and for the IT administrators that you prepare an MSI with no prerequisites inside (they hate chained packages).
All professional IT folks prefer to handle each package individually (also, SCCM allows them to add your prerequisites package as a dependency for the main application package, so they cannot
deploy it accidentally without the prerequisite).

The idea is that IT folks prefer to handle updates and maintenance for each app separately. All you need is to provide them an MSI (just duplicate the current build in AI and exclude the prerequisite from it)
and a small page on your website where you list the prerequisite packages they need, maybe even include download links.

Just to let you know,they can also deploy our EXE (we have command lines for silent installation) over SCCM, but as I told, they hate chained packages.

3) They are removed or left on the machine, depending on the setting you specify in Packages view, from Prerequisites page. The option "Do not remove prerequisites". By default we do remove them.

Regards,
Bogdan
Bogdan Mitrache - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”