問題描述
軟件中有個模塊在開機自動運行,並且會啟動另外一個EXE(其中會獲取一些硬件信息,用戶信息,網絡信息等)。
系統新建一個用戶后,在登錄新用戶時,首次登錄系統會創建用戶目錄,初始化桌面,outlook信息,IE信息等,在此過程中開機自動運行模塊就啟動了另外一個EXE,此時報錯並彈出提示框“該程序沒有與之關聯來執行操作.....”。
錯誤分析
1)藍屏代碼0xc000021a,百度發現該藍屏代碼有人說是用戶子系統損壞導致的,需要重裝系統。
2)“該程序沒有與之關聯來執行操作,.....”,百度發現該錯誤需要修復注冊表解決,主要是CLASS ROOT中exefile沒有相應正確配置,但實際注冊表是正常的
3)使用老用戶(即管理員用戶)可以正常登錄進入桌面,新用戶則出錯
綜上可推測,在新用戶首次登錄並且在用戶環境未准備完成之前,啟動EXE可能會造成藍屏或啟動失敗,當然也有可能用戶環境確實損壞了。
解決辦法(分不同情況處理)
1)由於開機自動運行模塊可以正常運行,在其運行其他EXE才報錯,因此,可在開機自動運行模塊判斷用戶是否准備完成,再運行其他EXE
在XP中,用戶登錄啟動過程由WINLOGON讀取注冊表userinit來完成用戶初始化,因此,我們可以判斷userinit所值進程是否結束,結束則代表用戶初始化完成。
2)開發XP系統GINA沒有返回正常的用戶配置路徑或是否加載用戶配置給winlogon,導致用戶相關注冊表無法創建或讀取而藍屏
3)本地用戶數據損壞,備份並刪除重新創建
4)域用戶(漫游用戶配置)損壞,備份並刪除重新創建
5)域用戶本地數據損壞,使用管理員登錄后,刪除用戶目錄再重新登錄域用戶