-1

I have my own msi through which I am trying to install the JRE exe. I am able to run other EXEs this way. But the JRE EXE is not getting installed. Below is the error I am getting.

MSI (s) (A0:C4) [05:10:08:690]: Executing op: CustomActionSchedule(Action=RUN_JAVA,ActionType=1042,Source=C:\Program Files (x86)\preRequisites\Java.exe,Target=/s,)
MSI (s) (A0:B8) [05:10:32:587]: Running as a service.
CustomAction RUN_JAVA returned actual error code 1618 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (c) (FC:BC) [05:10:35:397]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action RUN_JAVA, location: C:\Program Files (x86)\preRequisites\Java.exe, command: /s 
Action ended 5:10:38: InstallFinalize. Return value 3.
Action ended 5:10:39: INSTALL. Return value 3.

Below is the WiX file I have for my MSI.

<Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLLOCATION" Name="preRequisites">
          <Component Id="ProductComponent" Guid="7927FC46-E8C5-4FEA-A683-C275C08FB4D5" KeyPath="yes">
            <File Id="VC2013.exe" Name="VC2013.exe" Source="../../Setups/PreRequisites/kkube-prerequisites/vcredist_x86_2013.exe" DiskId="1"/>
            <File Id="VC2015.exe" Name="VC2015.exe" Source="../../Setups/PreRequisites/kkube-prerequisites/vcredist_x86_2015.exe" DiskId="1"/>
            <File Id="Java.exe" Name="Java.exe" Source="../../Setups/PreRequisites/kkube-prerequisites/jre-8u92-windows-x64.exe" DiskId="1"/>
            <File Id="dotNet4.5Installer.exe" Name="dotNet4.5Installer.exe" Source="../../Setups/PreRequisites/kkube-prerequisites/dotNet4.5Installer.exe" DiskId="1"/>
          </Component>
        </Directory>
      </Directory>
    </Directory>

    <CustomAction Id="RUN_VC2013" FileKey="VC2013.exe" ExeCommand="/q" Execute="deferred" Return="check" />
    <CustomAction Id="RUN_VC2015" FileKey="VC2015.exe" ExeCommand="/q" Execute="deferred" Return="check" />
    <CustomAction Id="RUN_JAVA" FileKey="Java.exe" ExeCommand="/s" Execute="deferred" Return="check" />
    <CustomAction Id="RUN_DOTNET" FileKey="dotNet4.5Installer.exe" ExeCommand="/q" Execute="deferred" Return="check" />

    <InstallExecuteSequence>
      <Custom Action="RUN_VC2013" Before="InstallFinalize">NOT Installed</Custom>
      <Custom Action="RUN_VC2015" Before="InstallFinalize">NOT Installed</Custom>
      <Custom Action="RUN_JAVA" Before="InstallFinalize">NOT Installed</Custom>
      <Custom Action="RUN_DOTNET" Before="InstallFinalize">NOT Installed</Custom>
    </InstallExecuteSequence>

    <Feature Id="ProductFeature" Title="preRequisites" Level="1">
      <ComponentRef Id="ProductComponent" />
    </Feature>

I tried running the jre with the command " /s". It installs silently. Why does it fail when installing it through my MSI? How can I achieve this? Any help would be much appreciated.

EDIT : I tried ordering the install sequence as shown below.

<InstallExecuteSequence>
  <Custom Action="RUN_DOTNET" Before="InstallFinalize">NOT Installed</Custom>
  <Custom Action="RUN_VC2013" After="RUN_DOTNET">NOT Installed</Custom>
  <Custom Action="RUN_VC2015" After="RUN_VC2013">NOT Installed</Custom>
  <Custom Action="RUN_JAVA" After="RUN_VC2015">NOT Installed</Custom>      
</InstallExecuteSequence>

Then I am getting this below shown error.

MSI (s) (40:7C) [05:25:40:920]: Executing op: ActionStart(Name=RUN_DOTNET,,)
MSI (s) (40:7C) [05:25:40:920]: Executing op: CustomActionSchedule(Action=RUN_DOTNET,ActionType=1042,Source=C:\Program Files (x86)\preRequisites\dotNet4.5Installer.exe,Target=/q,)
MSI (s) (40:7C) [05:28:05:286]: Executing op: ActionStart(Name=RUN_VC2013,,)
MSI (s) (40:7C) [05:28:05:286]: Executing op: CustomActionSchedule(Action=RUN_VC2013,ActionType=1042,Source=C:\Program Files (x86)\preRequisites\VC2013.exe,Target=/q,)
MSI (s) (40:F8) [05:28:15:574]: Running as a service.
MSI (s) (40:F8) [05:28:21:953]: Running as a service.
MSI (s) (40:F8) [05:28:27:994]: Running as a service.
MSI (s) (40:F8) [05:28:34:119]: Running as a service.
CustomAction RUN_VC2013 returned actual error code 1618 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (40:7C) [05:28:34:431]: Note: 1: 1722 2: RUN_VC2013 3: C:\Program Files (x86)\preRequisites\VC2013.exe 4: /q 
MSI (s) (40:7C) [05:28:34:431]: Note: 1: 2205 2:  3: Error 
MSI (s) (40:7C) [05:28:34:431]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1722 
MSI (c) (84:D8) [05:28:34:541]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action RUN_VC2013, location: C:\Program Files (x86)\preRequisites\VC2013.exe, command: /q 
MSI (s) (40:7C) [05:28:48:603]: Note: 1: 2205 2:  3: Error 
MSI (s) (40:7C) [05:28:48:603]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 
MSI (s) (40:7C) [05:28:48:603]: Product: KubePreRequisites -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action RUN_VC2013, location: C:\Program Files (x86)\preRequisites\VC2013.exe, command: /q 

Action ended 5:28:48: InstallFinalize. Return value 3.
AnOldSoul
  • 4,017
  • 12
  • 57
  • 118

1 Answers1

3

The Java EXE installer has a Java MSI inside. Windows Installer has a mutex that prevents one MSI from installing another MSI. You need to have some other process install one MSI and then the other.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100