私は登録する必要がある約100のdllを持っています regsvr32 /s some.dll
への各呼び出しを待つ必要がありますか。 regsvr32
次の電話をかける前に終了するか、またはそれらをすべて同時に実行することができます。
基本的に私はPowershellスクリプトを持っています
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
}
登録されているファイルのすべてが大規模なプロジェクトによって生成されたvb6 dllファイルです。私は持っている必要がありますか -Wait
私の〜の上に Start-Process
それともそれを脱いでも安全ですか?
プロセスが必要な安全対策を自動的に講じなかったことは非常に面白いことです。 :Dそうは言っても、おそらくある種の成功/失敗の報告がほしいと思うでしょう。
—
Daniel B
それが本当に私の質問なのですか、それとも自動的にそれらの安全対策を講じるのではないでしょうか。
—
Scott Chamberlain
いいえ、登録はスレッドセーフではないと思います。ほんのちょっと、それはそれが登録されたリソース(私が想像するレジストリ)を正しく同期させるかもしれません、しかし私はそれに賭けません。
—
Frank Thomas
私は問題なくCMD(バッチ)ファイルを使用して一度に10または15のDLLを登録しました。それと共にエラー報告をするために、最後にPAUSEがあったので、私は問題を読むことができました(例えば、いくつかのDLLは重要でない登録のためのエントリーポイントを持っていませんでした)。
—
DrMoishe Pippik