I created a vb6 updater for XP (a year ago) and I maintaing it, but I am a single person and becomes heavy. I can share code if you want...
One observation... when finish the install of one of the packages (.Net Framework 3.5 setup or updates), the installer launches several process of mscorsvw.exe, and don´t wait finish it.
In realy is necesary expect finalized any instances, for launch the next upgrade or reboot, to continue (mscorsvw.exe is setting something). Otherwise if continue, the second update to apply will give us the specific error: ERROR_SUCCESS_REBOOT_REQUIRED (err num: 3010)... and don't is installed.
This is my ini settings and work... (course packages missing, here is outdated)
WAITINSTANCES={Instance Name}|{Instance Count for continue}|{Sleep time for new check instance count}
WAITINSTANCES is called after run the Setup and after any update of .Net, if found more instances, sleep 5000 and retry the check. If not more 1 instances, retry 3 times (sleeping 5000 in between) just in case.
- Code: Select all
[RUN1]
FILE=DirPath\dotnetfx35.exe|/passive /norestart
NAME=Microsoft .Net Framework 3.5
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=yes
[RUN2]
FILE=DirPath\updates\NDP20SP2-KB958481-x86.exe|/passive /norestart
NAME=Actualización de Microsoft .NET Framework 2.0 Service Pack 2
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=no
[RUN3]
FILE=DirPath\updates\NDP30SP2-KB958483-x86.exe|/passive /norestart
NAME=Actualización de Microsoft .NET Framework 3.0 Service Pack 2
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=no
[RUN4]
FILE=DirPath\updates\NDP35SP1-KB958484-x86.exe|/passive /norestart
NAME=Actualización de Microsoft .NET Framework 3.5 Service Pack 1
REBOOT=yes
WAITINSTANCES=mscorsvw.exe|1|5000
[RUN5]
FILE=DirPath\updates\NDP20SP2-KB979909-x86.exe|/passive /norestart
NAME=Actualización de seguridad de Microsoft .NET Framework 3.5 Service Pack 1 y .NET Framework 2.0 Service Pack 2
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=no
[RUN6]
FILE=DirPath\updates\NDP30SP2-KB982524-x86.exe|/passive /norestart
NAME=Actualización de Microsoft .NET Framework 3.5 SP1 y .NET Framework 2.0 SP2
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=yes
[RUN7]
FILE=DirPath\updates\NDP30SP2-KB982168-x86.exe|/passive /norestart
NAME=Actualización de Microsoft .NET Framework 3.5 Service Pack 1
WAITINSTANCES=mscorsvw.exe|1|5000
REBOOT=no
[RUN8]
; blah blah blah........
I speak Spanish, sorry for mistakes, I translated with google.
Thanks for everything!