這幾天碰到個很奇怪的問題,軟件安裝完了之後,使用正常,但是在重新啓動之後註冊表裏面的用戶設置居然丟失。
進註冊表看的時候發現註冊表鍵都在,只是值的內容沒了。根據Process Monitor的報告,是Windows Installer在程序自動啓動的過程中自動修復的時候把註冊表裏面的用戶設置重新初始化了。
解決辦法很簡單,就是在安裝的時候不初始化註冊表,只在運行的時候動態創建鍵值。這樣在卸載的時候會留下垃圾,不過比不能正常運行好。
目前還不清楚爲何Windows Installer爲什麼認爲我的程序需要修復,慢慢再查了。