InstallShield Execution failed with exit code [-2147213312]


This week I was tasked with adding Innovyze InfoAsset Planner to my SCCM environment to push out silently to computers. Over the last couple of weeks, I have been using the PSADT and I love it!!

I’ve been working on this application for hours and I cant seem to figureout what I am doing wrong. The installer is InstallShield. I tried to follow the instructions in the link below but had no luck.

Error: InstallShield Execution failed with exit code [-2147213312]
InstallShield Silent Result Code: -3

Execute-Process -Path “$dirFiles\InfoAsset+Planner+Setup+2020.1.exe” -Parameters “/s /f1"$dirSupportFiles\setup.iss” /f2"$appname-Install.log""

Has anyone ran into this error before?

Any help would be appreciated!

Most likely problem is the quotation marks in your parameters. You either need to escape them (backtick character `), or use a combination of single and double quotes.

Backtick Method (looks like the backticks are removed by the msgboard software, so I’ve replaced them with Q. Where you see a Q, replace with backtick ):

Execute-Process -Path "$dirFiles\InfoAsset+Planner+Setup+2020.1.exe" -Parameters "/s /f1Q"$dirSupportFiles\setup.issQ" /f2Q"$appname-Install.logQ""

Singles and Doubles:

Execute-Process -Path "$dirFiles\InfoAsset+Planner+Setup+2020.1.exe" -Parameters '/s /f1"$dirSupportFiles\setup.iss" /f2"$appname-Install.log"'

I’m thinking the backtick method might be what you want. Just parsing by eye, it looks like the singles/doubles method might break things.

bahnjee is right, with the second example not working. In PowerShell the single quote implies an absolute value, whereas a double quote will evaluate variable within it. Even double quotes in single quotes are considered absolute values.

Building on bahnjee first example, you could also use double quotes to achieve a similar result:

Execute-Process -Path "$dirFiles\InfoAsset+Planner+Setup+2020.1.exe" -Parameters "/s /f1""$dirSupportFiles\setup.iss"" /f2""$appname-Install.log"""

You may also want to specify the folder where the log file is created (see the examples below).

I keep a crib sheet with installation commands for common setup packages to run silently and create log files. Some of these are in the documentation. They give me a starting point when I package new software. Hopefully they may be of use:

## *** Examples of an EXE install *** ##
Execute-Process -Path "MySetup.exe" -Parameters '/S'
Execute-Process -Path '<application>.exe' -Parameters '/quiet' -WaitForMsiExec:$true
# Launch InstallShield "MySetup.exe" with embedded MSI and force log files to the logging folder.
Execute-Process -Path 'MySetup.exe' -Parameters "/s /v`"ALLUSERS=1 /qn /L*v \`"$configToolkitLogDir\$installName.log\`"`""
# Launch InstallShield "MySetup.exe" and force log files to the logging folder.
Execute-Process -Path 'MySetup.exe' -Parameters "-s -f2`"$configToolkitLogDir\$installName.log`""
# Launch InnoSetup silently
Execute-Process -Path "MySetup.exe" -Parameters "/SP- /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /LOG=`"$configToolkitLogDir\$installName.log`""

I tried executing the script with both the backtick method, a combination, and double quotes and still no luck. Same error.

I contacted the vendor and they said a silent install inst possible for this software but I dont believe that.

I tried to install the app manually but before selecting next I went to C:\User\USERNAME\appdata\local\temp and found the install/configuration files. Added the files to the Files directory and tried to run the script. Still no luck.

At this point, Im starting to think it is not possible. Can you all think of anything else I can try?

You could try the following:

Execute-Process -Path ‘InfoAsset+Planner+Setup+2020.1.exe’ -Parameters “-s -f1"$dirSupportFiles\setup.iss” -f2"$configToolkitLogDir\$installName.log""

This is the equivalent of running the following at a command prompt (assuming all files are in C:\Temp):

InfoAsset+Planner+Setup+2020.1.exe -f1"C:\Temp\setup.iss" -f2"C:\Temp\Install.log"

It may be worth trying it at DOS command prompt first, just to ensure it works correctly. Also looking at the preview of my post, it changed the double quotes slightly, so it may also be worth typing the command, rather than copy and paste.

^^ This. When in doubt, take powershell and the quotes/single-quote/double doublequote fun out of the equation and run it manually with all the switches. If that works, then it’s a matter of getting the parameters worked out. If it’s really being troublesome, you could call a .cmd with the proper switches in it from PSADT instead. There’s been a time or two where I had to resort to that.