ExecWait '"c:\program files\company name\usbdriver\wdreg.exe -inf usb64.inf -silent -delete_files uninstall"' has broken quotes, it should be ExecWait '"c:\program files\company name\usbdriver\wdreg.exe" -inf usb64.inf -silent -delete_files uninstall'.
I still need to see how you use ExecWaitJob if you want me to investigate that.
It might also be a good idea if you download Process Monitor and log the process and thread activity. Pressing Ctrl+T will show a process tree and you should be able to tell if there are any child processes that you are not waiting for.
IntOp $PostCount $PostCount + 1
|