Wix Installer - "DLL required for this install to complete" error

wix installer examples
wix installer tutorial pdf
wix installer visual studio 2017
wix installer for console application
wix 2019
wix installer book
wix installer interview questions
wix setup editor

When I'm running the installer, I'm getting this error: There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Any clue?

Code snippet:

    <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="GoGo" UpgradeCode="9bfe9221-2d7d-46ee-b483-88f00e14b4b3">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />

    <Feature Id="ProductFeature" Title="SetupProject1" Level="1">
      <ComponentGroupRef Id="ProductComponents"/>
    </Feature>

    <!--<Binary Id="WixCA" SourceFile="WixCA.dll" />-->

    <Property Id="QtExecDeferredExample" Value="InstallManager.exe"/>
    <CustomAction Id="QtExecDeferredExample" BinaryKey="WixCA" DllEntry="WixQuietExec"
                Execute="immediate" Return="check" Impersonate="no"/>

    <InstallExecuteSequence>
      <Custom Action="QtExecDeferredExample" Before="InstallFinalize">NOT Installed</Custom>
    </InstallExecuteSequence>
  </Product>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="SetupProject1" >
          <Component Id='MainExecutable'>
            <File Id='InstallManagerEXE'
                  Name='InstallManager.exe'
                  DiskId='1'
                  Source='InstallManager.exe'
                  KeyPath='yes'/>
          </Component>
        </Directory>
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <ComponentRef Id='MainExecutable' />
    </ComponentGroup>
  </Fragment>


</Wix>

Your question has two answers.

First answer: Generic DLL

When you set your custom action, there is an attribute DllEntry="WixQuietExec". You need to include the DLL in the package with this code:

<Binary Id="WixCA" SourceFile="WixQuietExec.dll" />

This tag should be created inside the Product.

So your code would be like this:

...
<Binary Id="WixCA" SourceFile="WixQuietExec.dll" />
<CustomAction Id="QtExecDeferredExample" BinaryKey="WixCA" DllEntry="WixQuietExec"
              Execute="deferred" Return="check" Impersonate="no" />
...

Don't forget to match the CustomAction[BinaryKey] and Binary[Id].

Second answer: WixUtilExtension

Particularly for a standard custom action like QtExec, you need only to include a reference to the extension.

  1. In Solution Explorer, expand the References in your project
  2. Right-click over it and select Add Reference
  3. Browse for the folder where the WiX Toolset is installed. Then select bin folder. In my case, the full path is C:\Program Files (x86)\WiX Toolset v3.8\bin
  4. Select WixUtilExtension.dll and press Add and then OK

Change the Wix tag adding xmlns:util="http://schemas.microsoft.com/wix/UtilExtension". For example, your tag will be:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

WiX, The WiX Toolset is a set of tools that build Windows installation packages from XML source code. The toolset provides both a command line environment that  How To Install WiX Step 1: To download and install WiX on windows go to the official website of WiX as below https://wixtoolset. Step 2: You will be redirected to the source code present in the version control system GIT and we need to choose Step 3: After completion of download click on the

Try change DllEntry from WixQuietExec to CAQuietExec and property use QtExecCmdLine

please reference to https://www.firegiant.com/wix/tutorial/standard-libraries/silence-please/

WiX Toolset Tutorial, The WiX Toolset lets developers create installers for Windows Installer, the Windows installation engine. The core of WiX is a set of build tools that  The WiX Toolset lets developers create installers for Windows Installer, the Windows installation engine. The core of WiX is a set of build tools that build Windows Installer packages using the same build concepts as the rest of your product: source code is compiled and then linked to create executables; in this case .exe setup bundles, .msi installation packages, .msm merge modules, and .msp patches.

I confronted the same issue (error 1157) when I switched from using CAQuietExec extension to WixQuietExec. I used Wix Toolset 3.9 when error occured.

I solved this problem installing Wix Toolset 3.10.1 (it is last stable version now) and WixQuietExec extension works as expected.

WiX Toolset Build Tools, WiX is a collection of free tools that builds software installers from XML documents. You can build an installer from command line, but also use an  After installing the WiX toolset, create a new installer project in your Visual Studio solution: Right-click your solution and select “Add” / “New project…”. Go to the section “Windows Installer XML” and select “Setup Project”. Create a new project called “MyApplication.Installer” where

For any one facing this issue when developing the custom action using C#, I suggest to ensure that

  1. The BinaryKey is referring to the generated *.CA.dll and not the actual dll file.
  2. Ensure that the method being called is decorated with the [CustomAction] attribute.

A quick introduction: Create an MSI installer with WiX, WiXEdit is an editor for XML source files for the Windows Installer XML (WiX) toolset to build MSI and MSM setup packages. WixEdit tries to make the editing of​  The core of WiX is a set of build tools that build Windows Installer packages using the same build concepts as the rest WiX includes several extensions that offer functionality beyond that of Windows Installer. For example, WiX can install With Burn, the WiX bootstrapper, you can create setup

WixEdit, msi installation package on an example of an existing Windows Forms application. Make sure WiX Toolset is installed on your machine and registered with your  There are several options available to get started learning how to use WiX. How To Guides. This help file includes a set of How To Guides that explain how to accomplish common Windows Installer tasks using WiX. Tutorials. WiX Tutorial; Video on Channel 9; Community. If you prefer to learn by interacting with the community, there is a WiX users

Creating a WiX based MSI installer for a .NET Project, WiX has excellent integration with Visual Studio, but that shouldn't stop you from using it in other IDEs. We ought to be able to create an installer using only  The WiX Toolset builds Windows installation packages from XML source code. The toolset supports a command-line environment that developers may integrate into their build processes to build Windows Installer (MSI) packages and executable bundles. The WiX GitHub project hosts the WiX source code Git repositories.

How to create a standard MSI installation package with WiX Designer, The most powerful set of tools available to create your Windows installation experience. Free and Open Source since 2004! - WiX Toolset.

Comments
  • may be you should log by installing with the following command msiexec /i SetupProject1.msi /lvoicewarmupx log.txt and see if the log file log.txt gives any indication to why the error pops.
  • log shows: Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action QtExecDeferredExample, entry: WixQuietExec, library: C:\Windows\Installer\MSIF136.tmp
  • try it as an immediate action instead of deferred after installFinalize
  • Does this error manifests on a single machine or on every computer that you try to install?
  • on multiple machines
  • Where can I get this dll? I thought it's part of the WixUtilExtension. Reference: Quiet Execution Custom Action
  • I expanded the answer to cover your particular case.
  • Even after following the steps above [see updated code] the same error occurred: Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action QtExecDeferredExample, entry: WixQuietExec, library: C:\Windows\Installer\MSI3936.tmp
  • Also make sure when you renamed a CA that didn't just do it in the wxs file. Not renaming the the C# method just cost me an hour of fruitless investigation. I don't really know how I managed to do that, but I suppose someone else might.