drivers – start /wait doesn’t wait. How to workaround without using pause in script (Script is meant to be unattended)

I have a script that is run after windows is installed and performs a vast number of tasks, including installation of drivers and various programs. The intent is that the script is run unattended.

I am adding code to install printer drivers, in this case the Canon TS8300 series.

I think the problem is that that the installer runs in several parts. The first step is to extract the drivers and various utilities that come with the installer. I notice that once the extraction has completed the script continues.

If I understand the /wait parameter on the start command (and please correct me if I’m wrong), this is expected behavior. That certainly seems to be the consensus from the searches I’ve done.

The command is;

start /wait "TS8300 Installation" /d "%SRC%PostInstallCanon" "win-ts8300-1_02-ea34_2.exe"

I’ve also tried with start /b /wait (apparently /wait /b is also known to not work).

As the next step in the code is to stop and delete a service that is installed, that fails because it’s executing before the service has been installed as the script does not wait. So I’ve temporarily added a pause but that means I have to be there to press the any key.

I thought about simply using ping x.x.x.x -n yy >nul and it might work if I get the value of yy right (which will probably vary depending on the PC). It’s better than using pause, but I was hoping there might be something a bit more elegant and fool proof.