4
I have about 100 dll's I need to register with regsvr32 /s some.dll
, do I need to wait for each call to regsvr32
to finish before I do the next call or can I just run them all at the same time.
Basically I have the Powershell script
if([System.Environment]::Is64BitOperatingSystem)
{
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\SysWOW64\regsvr32.exe')
}
else
{
$regsvr = [System.Environment]::ExpandEnvironmentVariables('%windir%\System32\regsvr32.exe')
}
foreach( $file in $filesToRegister)
{
Write-Verbose "$regsvr /s ""$file"""
Start-Process $regsvr -ArgumentList '/s', """$file""" -Wait
}
All of the files that are being registered are vb6 dll files that are generated by a large project. Do i need to have the -Wait
on my Start-Process
or is it safe to take it off?
It would be quite amusing of the process didn't take any necessary safety measures automatically. :D That being said, you'll probably want some kind of success/failure reporting. – Daniel B – 2016-09-29T19:12:22.267
@DanielB that really is my question, does it or does it not take those safety mesures automaticly? – Scott Chamberlain – 2016-09-29T19:12:59.430
I would guess that no, registering would not be thread-safe. just a hunch, it may correctly synchlock the resource its registered in (the registry I imagine) but I wouldn't bet on it. – Frank Thomas – 2016-09-29T19:27:28.227
I've registered 10 or 15 DLL's at a time using a CMD (batch) file without issue. To get error reporting with it, there was PAUSE at the end, so I could read the issues (some DLL's did not have an entry point fro registration, for example, which was inconsequential). – DrMoishe Pippik – 2016-09-29T19:33:43.017