Updating ODBC and OLE DB driver EXIT CODE 1603

I pushed ODBC update to 4 machines. 2 machines received the update with exit code none and the other two received the exit code 1603. and for the OLE DB update, all 4 machines got an exit code 1603

Which Fixlet you have Used?

If you created custom fixlet, please provide:
Relevance statement
Success criteria

relevance statement is just set to “true”

waithidden "{pathname of system folder & "\msiexec.exe"}" /i "{(pathname of client folder of current site) & "\__Download\msoledbsql.msi"}" /qn /norestart

this is for OLE DB
Got the x64 version from here

Success Criteria

This action will be considered successful when it runs to completion.

It’s probably 32-bit redirection, then. You need to include the line

action uses wow64 redirection false

somewhere before the ‘waithidden’ command. Otherwise it uses the 32-bit version of msiexec.exe and probably can’t run the 64-bit installer package.

yah still getting the same 1603 exit code

You’ll need to run the installers manually then and see why they’re getting an error. Maybe there’s a prerequisite?

Or…maybe it’s how the process spawn is handling qutoted parameters. I’ve had issues with that before. The way I usually deal with it is to use the CMD shell’s internal quote handling. I posted about this in a tip somewhere, the short version is to try

action uses wow64 redirection false
waithidden cmd.exe /c ""{pathname of system folder & "\msiexec.exe"}" /i "{(pathname of client folder of current site) & "\__Download\msoledbsql.msi"}" /qn /norestart"

Yes, that’s doublequotes inside of doublequotes. The handling for that is specific to cmd.exe, that won’t work with powershell or msiexec directly, need the cmd wrapper for it.