I'm going to go out on a limb and say the real problem is trying to work around the wim being installed to the D: drive. This is because the install.wim from the DVD is being used for installation.
Microsoft's recommendation is this: Import the install.wim file into sccm as an Operating System Installer, (not Operating System Image). Create a new task sequence to lay this installer down, update, install apps, etc, then sysprep and capture. For best results, let sccm sysprep and capture the image.
Then, import the wim created from this task sequence as an Operating System Image, and use this for deployment. This wim should install to the C: with no hacks workarounds, and the error above should go away.
As for the cause of your error, as you probably know if your msi doesn't return 0 (successful) or 3010 (restart required) then the task sequence will fail, unless
You're running a command line step and tell it what error codes to expect
You explicitly tell sccm to continue on error for that step.
A thread being ran by your msi is returning a 32 which appears to cause the msi installer to return a 1603 back to sccm, which kills your ts. It is probably hardcoded to delete something from C:\Windows\Installer, or an environment variable is returning that path, either way I would redo it, because patching this could be like playing whackamole, with other problems cropping up in the future.
I realize this does not directly answer your question but I can't help but feel this might be a better way to accomplish your goal.
I'm assuming you are using this Task Sequence to either do a image build or capture or to deploy a previously capture image. I cannot think of a reason why you would have to install device drivers this way.
We just import the device drivers into the Drivers Catalog, roll them up in Packages and then use the Apply Device Drivers action during the image to handle each particular workstation.
Works just fine for us but maybe there is something in your scenario that I am missing.
![task sequence](https://i.stack.imgur.com/ljGQJ.png)
Best Answer
You can do this just by setting OSDComputerName using the Set Task Sequence Variable step, as long as it's set before the Setup Windows and ConfigMgr step it will use the value of that variable at that step.