The error, "Error 1713 (cannot install one of its required products)" appears when attempting to call an .MSI from within another .MSI.
Found that adding the Property Setting ALLUSERS=[ALLUSERS] on the Install MSI From Installation custom action can resolve this error message.
Alternatives to nested installs: Microsoft best practice recommendations include not using nested installations due to significant limitations such as upgrade and patching issues. Below are two different methods to use which install two .MSIs during one installation.
Use the Execute Program from Destination to call an .MSI from the User Interface script. User Interface script is run before the Windows Installer Engine starts up, so the .MSI will not be nested.
Create a WiseScript that will install the .MSI to a temporary location on the computer using the Install Files action.
Place the Wisescript in the User Interface after CostFinalize.
Add an Execute Program from Destination custom action in the User Interface of MSI Script after the Run WiseScript action that installs the .MSI to the computer.
Complete the Execute Program from Destination as shown below:
Custom Action Name: Enter any name
Working Directory: Enter SystemFolder
EXE and CommandLine: [SystemFolder]msiexec.exe /i <PathToYourMsi>
Accept all other defaults and click OK.
Note: If the .MSI will reside in the same folder as your main .MSI, then you can use [SourceDir] as the path to the .MSI (include the name of the .MSI in the path).
Note: Add double quotes around your paths if it fails to execute in the .EXE and CommandLine field.
You can also use an .EXE wrapper to a call both .MSIs.
Go to the Build Options page in the Release Definition group Installation Expert.
Select Single-File .EXE (only valid for files inside .MSI) from the .EXE Options drop down.
Go to Prerequisites Page in the Release Definition group of Installation Expert and select Add > Prerequisites.
The Prerequisites Details dialog appears. In the File Path field, browse for MSI.
In the Command Line field, enter any necessary command line.
Compile and run the .EXE.
Completing this process will install the first .MSI and then install the main .MSI. You can also choose to create your own wrapper using Wisescript Script that would launch the first .MSI then the second using the Execute Program action.
Imported Document ID: TECH25487
Subscribing will provide email updates when this Article is updated. Login is required.