kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

パッチ適用時に再起動を要求されるわけ

id:kkamegawa:20101121:p1 にid:NyaRuRuさんからコメントいただきました。ありがとうございます。

実際のところは Windows Installer がファイル更新する際に,別プロセスからオープンされていて MOVEFILE_DELAY_UNTIL_REBOOT 扱いになったファイルがあると機械的に「要再起動」扱いしているとかだったりしませんかね.
再起動が要求されたときの,
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
あたりを眺めてみると何かわかるかも.
データフォーマットについてはこちらをどうぞ.
http://msdn.microsoft.com/en-us/library/aa365240.aspx

実際そうなんでしょうね。Adobe ReaderをCOM経由で呼び出している常駐物のプロセスか何かがあって(筆頭はIE/WebBrowser Compornent経由でしょうけど)、引っかかっているのかと。探せなかったのですが、Adobeの中の人と思われる方が「今度から再起動なくなりましたので安心してください」みたいなツィートが私のTLに(どなたかの公式RTで)出てきたので、「ほんとかな?」と思ったのでした。
MSIのログはフルダンプさせるとほんとーにたくさん出ますよね…あほなソフトがフルダンプモードに設定してくれて、%TEMP%にまぁ巨大なファイルを生成してくれることと言ったら(;-;)。
.NET FrameworkとかVisual Studio系も大きなログファイル作ってくれますけど、終わったらちゃんと戻している…はず。
Adobe Reader Xもサンドボックスモデルを採用したそうですが、Adobe Readerの検索キーワード入力でIME(Office IME 2010)が使えるか…と思ったら、ちゃんと使えますね(^^;。