4
votes

I'm getting an error 1721 on Windows 8 when my basic MSI installation tries to run a custom action executable, while on Windows XP and Windows 7 it is run as I have set it to from InstallShield. The executable is stored in the binary table. Why is this happening?

Screenshot with the error message containing error 1721: "DJPro Automations Installer Information. 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: Initializer, location: C:\Windows...\MSID974.tmp, command:"

3
Typically the verbose MSI log will give you a clearer understanding of why error 1721 is shown. Likely candidates include missing dependencies and required elevation.Michael Urman
It's probably caused because I have set the executable to always run as administrator in the app.manifest. The thing is that I need to move some files from a previous version installation of the software in Program Files so I need the admin permissions to do so. When I'm not setting the executable to run as administrator, the error doesn't come up, but I'm getting an UnauthorizedAccessException when trying to move the files.Pantelis

3 Answers

1
votes

Change In-Script Execution to "Deferred Execution in System Context" in your custom action

1
votes

Run as administrator. It will do. I had the same problem, and it got resolved by doing the same.

0
votes

This would appear to initially be architecture related. Ensure for all parts of the custom action, programs, paths and file names, etc. are valid. Also as mentioned, always apply installers via the administrator account.

If you're calling an EXE stored in the binary table, ensure you're referencing it correctly as well. Often the Windows installer unpacks an MSI to '%temp%' folder so confirm access and path is correct. MSIEXEC extracts temporary files, for example, 'MSID974.tmp' there which then carries out a pre-configured MSI function, but falls over.

Lastly, try generating a verbose MSI log file. It will help you pinpoint the issue hopefully more clearly.