cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
amaharja
Level 4

Custom actions Fail to install

Hi,

I have added 4 .exe files under the Custom Actions and Sequences View. The setting for each of these .exe files are as follows:

Return Processing - Synchronous
In-Script Execution - Immediate Execution
Execution Scheduling - Always Execute
Install UI Sequence - Absent from Sequence
Install Exec Sequence - for the first .exe file and the .exe file before it for the rest of the .exe files.
Admin UI Sequence - Absent from Sequence
Admin Exec Sequence - Absent from Sequence
Advertise Admin Sequence - Absent from Sequence

The custom actions do get initiated but after a while I get the error - "Another installation is in progress. You must complete that installation before continuing this one." Then the installation fails.

Can someone please help? Thanks in advance.

Cheers,
Ajanta.
Labels (1)
0 Kudos
(14) Replies
TsungH
Level 12

It looks like one of the executables launched is in fact another Windows Installer based installation. Before Windows Installer 4.5, the installer does not allow multiple Execute Sequence running concurrently.

If you are only supporting 4.5 and later, you can make use of MsiEmbeddedChainer table. For more info, please refer to Multiple-Package Installations.
0 Kudos
amaharja
Level 4

Hi Tsung,

Yes, the .exe indeed have installers within them. I unzipped the exe using 7-zip and confirmed this. A few of the .exe files do not have MSI inside but have .src, .rdata, .data files. If all of them had .msi files, I could have chained them to the parent msi file, sadly this is not the case and I am back to my problem of running the .exe files.

I did try creating 4 new entries in MsiEmbeddedChainer one for each of the .exe file that I want to run. I created type 2 entries, i.e. msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData.

Even with this, the custom actions are not getting installed. This time, the custom actions dont even run.

Is there something I have missed?

Cheers,
Ajanta.
0 Kudos
amaharja
Level 4

I forgot to mention, I am using Windows Installer Version 4.5, Windows Vista and Installshield 2010.
0 Kudos
amaharja
Level 4

I am able to install the parent msi and then I get the error "Command line option syntax error. Type /? for help" just as the first .exe starts installs.

Please help!
0 Kudos
TsungH
Level 12

You will have to determine which installer is displaying this error, and what command line parameters are passed. In order to determine that, you may have to look at Windows Installer log from the parent installer, if it is not already apparent.
0 Kudos
amaharja
Level 4

Hi Tsung,

I found out another way to get this done. I added the .exe files so that they run after the parent .msi installs successfully. I added these custom actions in the CustomEvent table such that they run after the "SetupCompleteSuccess" dialog is generated. As part of DoAction, I added these .exe filenames.

With this, I am able to successfully install two .exe but the other two .exe which have .RDATA, .DATA and .SRC inside its installer still does not run. It gives "Catatostrophic Error".

Is there anyway I can get these .exe to run as well?

Cheers,
Ajanta.
0 Kudos
TsungH
Level 12

I have no knowledge of the other 2 installers. You will have to determine the cause of error. You will first want to determine if the error occurs only when launched from another installer.
0 Kudos
amaharja
Level 4

I am able to successfully install the other two .exe on their own. The problem is seen when I launch it as a sequence in the .msi file. So far, I have had no luck in finding out what the other two installers are and why the error is seen.
0 Kudos
amaharja
Level 4

On some further research on the different kinds of .exe files, I found out that the installations can come in three flavours:

1. A custom, third-party installation system in an EXE file.
2. A Windows Installer installation in an MSI file.
3. An EXE file that bootstraps an MSI file (that may be embedded inside the EXE file).

Looks like the 2 .exe files that I am failing to run are of category 1. The other 2 installation files have .msi within so they probably are of Category 3. Does this mean that third party .exe files cannot be run? Is there any way to run them as part of my parent .msi file?
0 Kudos
dan_galender
Level 10

One approach might be to define them as prerequisites to your MSI (or even to features in your MSI, if they need to only be installed conditionally).
0 Kudos
amaharja
Level 4

Hi Dan,

They seem to run as pre-requisites, but doing so results in a new window being opened at install time which has these .exe files. The user has to manually double click on each of them for them to be installed. Following this the parent msi file starts execution. Is there a way to make this automatic?

Cheers,
Ajanta.
0 Kudos
dan_galender
Level 10

Without seeing those other installers, it's hard to say.

Do they provide a mechanism for running them silently?

There is a setting on the prerequisite setting (Behavior tab) to not have them appear in a list of prerequisites that are being run (as they are being run).
0 Kudos
amaharja
Level 4

The files are .exe files. On looking at their 'Properties' the files are listed as the type 'Application'. One thing that is different between these exe files and the other exe files which are running fine is that under the 'Program' tab of the 'Properties' windowfor these files, it shows "MSDOS - C:\". Does this mean that it is a MSDOS executable? Could this be the reason why my parent msi file is not able to run these .exe files? As a standalone installation when I just double click on these .exe files, they run properly.
0 Kudos
amaharja
Level 4

Also, is there any way to convert the MSDOS exe file to a Win32 exe file?
0 Kudos