Comment puis-je installer l'EXE JRE en silence via mon propre MSI?


J'ai mon propre msi à travers lequel j'essaie d'installer l'exe JRE. Je suis capable de courir d'autres EXEs de cette façon. Mais l'EXE JRE n'est pas installé. Ci-dessous est l'erreur que j'obtiens.

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.

Ci-dessous est le fichier WiX que j'ai pour mon 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>

J'ai essayé d'exécuter le jre avec la commande "/s". Il s'installe silencieusement. Pourquoi échoue-t-il lors de son installation via mon MSI? Comment puis-je y parvenir? Toute aide serait très appréciée.

EDIT: J'ai essayé de commander l'installation l'ordre indiqué ci-dessous.

<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>

Alors je reçois cette erreur ci-dessous.

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.
Author: mayooran, 2017-05-23

1 answers

Le programme d'installation Java EXE a un MSI Java à l'intérieur. Windows Installer a un mutex qui empêche un MSI d'installer un autre MSI. Vous devez avoir un autre processus installer un MSI puis l'autre.

 3
Author: Christopher Painter, 2017-05-23 01:25:16