Announcement

Collapse
No announcement yet.

How to launch another EXE installer from my installer?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to launch another EXE installer from my installer?

    I'm trying to build an installer for my product, but it requires me to run an installer for an ODBC driver first. I would like my installer to launch the ODBC driver EXE installer before installing my product. What is the standard way to install a prerequisite? I tried creating a custom action called ODBCINST that runs in the InstallExecuteSequence with the Before InstallFiles timing. It seems to work on some workstations, but on other workstations it seems that the ODBC driver install is failing with error 1721. The only way to get the installer to install the driver is to right click on the installer executable and "Run as Administrator". I'm assuming that the driver install is not running with elevated permissions and should be. This is what I see in the MSI logs when the driver install fails:

    Code:
    MSI (s) (44:38) [11:39:45:799]: Doing action: ODBCINST
    Action 11:39:45: ODBCINST. 
    Action start 11:39:45: ODBCINST.
    MSI (s) (44:38) [11:39:45:949]: Note: 1: 1721 2: ODBCINST 3: C:\WINDOWS\Installer\MSID605.tmp 4: /S 
    Error 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: ODBCINST, location: C:\WINDOWS\Installer\MSID605.tmp, command: /S 
    MSI (s) (44:38) [11:39:50:286]: Product: Produce Pro Scanning -- Error 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: ODBCINST, location: C:\WINDOWS\Installer\MSID605.tmp, command: /S 
    Action ended 11:39:50: ODBCINST. Return value 3.
    Should I take a different approach to get the driver EXE to install from my own installer? Thanks!

  • #2
    I looks like this ODBCINST attempts to run a MSI package. You cannot run another MSI from your own MSI. If you have, then use a merge module to integrate this ODBC driver into your own MSI. Otherwise, you need to chain these MSIs using the bootstrapper, running it before or after your main MSI.

    Ulrich

    Comment


    • #3
      Ok Thanks, I'll just run the other installer from the bootstrapper instead.

      Comment


      • #4
        For the external installers that I want to run, do I have to install the installer EXE files into my ProgramFiles directory then run them from the bootstrapper? Or is there a way to unpack them to a temporary folder, run them, then delete them?

        Comment


        • #5
          If you add the files to the bootstrapper, you will need to decompress the file, and then run it. Where you decompress it, is up to you, but most likely you would use a temporary folder, not ProgramFiles. Have a look at how the bootstrapper and dependency scripts for MSI Factory work, and you will understand the procedure.

          Ulrich

          Comment

          Working...
          X