自從畢業出來工作之後﹐由於工作關係﹐我人生大部份時間都奉獻在程式編寫的工作上﹐而編寫平台多數是米記的視窗﹐而由於這個視窗幾好用﹐市佔率一向很高﹐只是開發程式和工具都很欄﹐因此經常會有事件發生。
七一零事件當日我如常上班﹐由於是星期五﹐個個精神爽利﹐入門叫早晨。返到平時坐開的座位﹐打開電腦 Filehippo Update Checker 告訴我 Safari 出了新版 4.0.2。Ok! 立即下載﹐下載期間﹐打開 Outlook 收 E-mail﹐剛剛睇完一個 E-mail 就下載完畢了﹐Double-click 桌面上剛下載回來的 SafariSetup.exe﹐er...無反應?
Sales 哥哥 E-mail 告訴我 Vender 出了新 Driver 要我試試﹐身為眾同事眼中的 nice guy﹐絕不能因為上網而忘記工作﹐因此我在下載 Driver 期間﹐才上網找尋 Safari 安裝失敗之謎﹐但竟然無發現有人有問題﹐個個安裝成功﹐大讚特讚佢有幾好用...Shxt...Driver 下載完畢了!唯有暫時專心工作。
奇怪的事發生了!Driver 安裝不能﹐無 Error﹐安裝程式一閃即死。直覺告訴我這和 Safari 安裝不能是有關係的﹐經過一兩小時的努力﹐發現 Safari 在安裝的時候有寫低 Log:
原來米記的 Windows Installer 出了問題﹐返回了 -1073741819﹐混了程式編寫幾年的我當然知道 -1073741819 = 0xC0000005﹐在 G 網鍵入 "msiexec 0xC0000005" 搜尋...搜尋...搜尋...算啦!放棄了!重新安裝 Windows Installer 4.5 吧!重新安裝並重啟後﹐問題依舊...Oh! My God. What the Fxxk! 又到食午飯時間了!
午飯過後﹐在 MSDN 找到一個 Post 專講 Windows Installer Problems﹐看來它真的很多 Problems﹐只是解決方法都提供了八個﹐其中最有趣的一個是叫你開啓它的 Log 功能﹐然後打電話問功課。自以為能夠睇得明個 Log 的我在試完其他方法都唔得之後﹐唯有屈服﹐可是結果往往出人意表﹐做完後個 Log 出來係「吉」ga...係「吉」ga...頂你!(我心諗)
重新安裝不成功﹐就唯有用移除的方法試﹐先將有可能影響 Windows Installer 的軟件移除﹐第一個就選擇了 pApplocale(因為在 G 網上搜尋到的第一條 Link 裏有出現過 Applocale 這個字眼﹐雖然內容與問題無關)﹐不知是否星期五的關係﹐手氣不錯﹐第一個選擇就正確了!在 pApplocale 被移除後﹐Safari 和 Driver 都成功安裝了﹐不過還是有問題﹐因為我用谷歌金山詞霸合作版﹐那是簡體軟件﹐pApplocale 對我來說是有需要的。
之後又上 G 網搜尋一下當初 Applocale 的亂碼問題和解決原理(當初用 pApplocale 就是因為它不會影響到 Windows Installer﹐而又不用手動解決亂碼問題)﹐係啦!以前那個需要手動解決的 AppLoc.tmp﹐原來問題就是出自這個檔案的出現。
全件事一開始只要刪除了這個 C:\Windows\AppPatch\AppLoc.tmp﹐就不會有問題發生﹐而這個謎之檔案就是由米記自己的 Applocale 生產出來的﹐米記!請問你點解釋呀?還有那個「吉」的 Log 你又點解釋呀?不是有 Safari 的介入﹐我還不可能知道 msiexec 返回的數值是甚麼呢?有 G 網都搜尋不能。
快下班了!事件也告一段落了!