這兩天在擺弄剛剛到手的夏新E850,哈哈,總算有機會體驗一下Windows Mobile編程了,當然一開始總是從最基礎的開始——學習如何使用ActiveSync。廠商提供的版本是4.1的,似乎有點早,但一開始也沒有注意,就安裝在機器上了,嘗試同步通訊錄,可是每次總是不成功,而且報的錯誤比較怪,見下:
中文版
ActiveSync在臺式機上遇到問題,支持代碼:85010014
英文版
ActiveSync encountered a problem on the desktop. Support Code: 85010014
平時其他客戶的機器上出問題我倒不是很在乎,如今自己機器遇到這種問題,這個case不做也不行了,唉,只能硬著頭皮上阿。
先請教了一位同事,同事說可能需要重建parnership,就是說把Desktop和Mobile上原來建的Profile都刪掉,然后重新跟著向導再建一遍Profile,但試了好幾次都不行,同事也沒啥辦法了,于是開始在網上尋找信息。
很幸運,找到了一篇Troubleshooting的帖子: http://kb.palm.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj(41810)
在這篇帖子中,有好幾種workaround,于是我只能一個一個試。
首先,我注意到了一個叫做wceslog.log的文件,位于%temp%目錄下,打開這個文件一看,發現了如下信息:
可以看到有多個函數報 0x80004005錯誤,即Access Denied(拒絕訪問),看來權限方面有問題,根據這一信息,找到了那篇帖子中的一個相關方法:(以下是翻譯,有部分修改)
?? 1. 斷開Windows Mobile設備
?? 2. 在桌面PC上:點擊 開始菜單 > 所有程序(或程序) > 附件 > 寫字板
?? 3. 在寫字板的文件菜單中,選擇“打開”
?? 4. 在Open窗口的底部,將文件類型設置為"所有文件"
?? 5. 在文件名文本框中,輸入%temp%. 這將會顯示你的系統臨時目錄
?? 6. 定位并打開WCESLog.log
?? 7. 從編輯菜單中選擇“查找”
?? 8. 輸入DoInitOOMSession,按查找
?? 9. 你是否發現以下信息?
????????? * 沒有: 繼續搜索
????????? * 是: 如果找到,你會看到如下信息
??????????? 02/28/2006 19:29:29.755 p(432) t(3320) TraceToFile -> ERROR in COomSession::DoInitOOMSession : hr = 0x80004005 - OomSession.cpp(175)
? 10. 退出寫字板,但請不要保存文件。
? 11. WCESLOG文件中的"DoInitOOMSession"表示你的防病毒軟件阻止了ActiveSync進行同步。請確認你的反病毒軟件是否允許你禁用script blocking
? 12. 你是否可以禁用反病毒軟件中的script blocking?
????????? * 是: 禁用腳本阻止。嘗試同步smartphone.
????????? * 否: 如果你的防病毒軟件不允許你禁用script blocking, 你可以卸載一個DLL來禁用該功能。
? 13. 現在我們打算刪除可能阻止同步的那個DLL,但僅在你無法禁用script blocking的情況下使用接下來的步驟
? 14. 在開始菜單中, 選擇運行
? 15. 輸入regedit點擊確定
? 16. 在注冊表編輯器中,打開HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0006F03A-0000-0000-C000-000000000046}\InprocServer32.
? 17. 當你點擊InprocServer32, 右面的欄中將會顯示一個列表. 第一條就是(Default).
? 18. 右擊(Default)項,選擇刪除
? 19. 嘗試同步你的smartphone.
但用了以上方法之后還是不行。。。
之后發現原來可以通過修復Outlook安裝來解決這個問題,于是就抱著試試看的心理試了一把。。。奇跡出現了,安裝程序運行完之后,一切都好了,哈哈。后來回過頭來想想,可能問題出在這里——我的機器上既安裝了Office 2007又安裝了Office 2003,而且Office 2003是在Office 2007之后安裝的,所以可能覆蓋了一些相關的DLL,所以會導致出現問題。
希望以上經驗對大家有用,當然具體問題具體分析,我個人還是比較推薦大家看 http://kb.palm.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj(41810)
中文版
ActiveSync在臺式機上遇到問題,支持代碼:85010014
英文版
ActiveSync encountered a problem on the desktop. Support Code: 85010014
平時其他客戶的機器上出問題我倒不是很在乎,如今自己機器遇到這種問題,這個case不做也不行了,唉,只能硬著頭皮上阿。
先請教了一位同事,同事說可能需要重建parnership,就是說把Desktop和Mobile上原來建的Profile都刪掉,然后重新跟著向導再建一遍Profile,但試了好幾次都不行,同事也沒啥辦法了,于是開始在網上尋找信息。
很幸運,找到了一篇Troubleshooting的帖子: http://kb.palm.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj(41810)
在這篇帖子中,有好幾種workaround,于是我只能一個一個試。
首先,我注意到了一個叫做wceslog.log的文件,位于%temp%目錄下,打開這個文件一看,發現了如下信息:
04
/
12
/
2007
?
08
:
02
:
38.015
?p(
4932
)?t(
2280
)?DbApi?->?CDb::_Open?-?hr?
=
?0x80004005?-?db.cpp(
439
)?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::_Open(0x46d614 , ?&C:\Documents?and?Settings\Tony?Qu\Application?Data\Microsoft\ActiveSync\Profiles\WM_Tony_Qu\user.sdf , ? 0 )?-?returning?0x80004005?-?db.cpp( 469 )?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::OpenDatabase?-?hr? = ?0x80004005?-?db.cpp( 678 )?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::OpenDatabase(&C:\Documents?and?Settings\Tony?Qu\Application?Data\Microsoft\ActiveSync\Profiles\WM_Tony_Qu\user.sdf , ? 0 , ?0x461f76c)?-?returning?0x80004005 , ?*ppDb? == ?0x0?-?db.cpp( 717 )?
04 / 12 / 2007 ? 08 : 02 : 48.281 ?p( 4932 )?t( 2124 )?TraceToFile?->?ERROR?in?COomSession::DoInitOOMSession?:?hr? = ?0x80004005?-?OomSession.cpp( 175 )?
04 / 12 / 2007 ? 08 : 02 : 48.281 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CProfileSession::_CreateNewProfile?:?hr? = ?0x80004005?-?ProfileSession.cpp( 778 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CProfileSession::GetChangeTrackingVariables?:?hr? = ?0x80004005?-?ProfileSession.cpp( 933 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CMsgProcessor::ProcessMessage?:?hr? = ?0x80004005?-?MsgProcessor.cpp( 577 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CService::_HttpPostMethod?:?hr? = ?0x80004005?-?Service.cpp( 1259 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?SyncEngPerf?->?Sync?Statistics:?Finished?processing?request?-?Service.cpp( 1176 )?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::_Open(0x46d614 , ?&C:\Documents?and?Settings\Tony?Qu\Application?Data\Microsoft\ActiveSync\Profiles\WM_Tony_Qu\user.sdf , ? 0 )?-?returning?0x80004005?-?db.cpp( 469 )?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::OpenDatabase?-?hr? = ?0x80004005?-?db.cpp( 678 )?
04 / 12 / 2007 ? 08 : 02 : 38.015 ?p( 4932 )?t( 2280 )?DbApi?->?CDb::OpenDatabase(&C:\Documents?and?Settings\Tony?Qu\Application?Data\Microsoft\ActiveSync\Profiles\WM_Tony_Qu\user.sdf , ? 0 , ?0x461f76c)?-?returning?0x80004005 , ?*ppDb? == ?0x0?-?db.cpp( 717 )?
04 / 12 / 2007 ? 08 : 02 : 48.281 ?p( 4932 )?t( 2124 )?TraceToFile?->?ERROR?in?COomSession::DoInitOOMSession?:?hr? = ?0x80004005?-?OomSession.cpp( 175 )?
04 / 12 / 2007 ? 08 : 02 : 48.281 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CProfileSession::_CreateNewProfile?:?hr? = ?0x80004005?-?ProfileSession.cpp( 778 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CProfileSession::GetChangeTrackingVariables?:?hr? = ?0x80004005?-?ProfileSession.cpp( 933 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CMsgProcessor::ProcessMessage?:?hr? = ?0x80004005?-?MsgProcessor.cpp( 577 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?TraceToFile?->?ERROR?in?CService::_HttpPostMethod?:?hr? = ?0x80004005?-?Service.cpp( 1259 )?
04 / 12 / 2007 ? 08 : 02 : 51.359 ?p( 4932 )?t( 2280 )?SyncEngPerf?->?Sync?Statistics:?Finished?processing?request?-?Service.cpp( 1176 )?
可以看到有多個函數報 0x80004005錯誤,即Access Denied(拒絕訪問),看來權限方面有問題,根據這一信息,找到了那篇帖子中的一個相關方法:(以下是翻譯,有部分修改)
?? 1. 斷開Windows Mobile設備
?? 2. 在桌面PC上:點擊 開始菜單 > 所有程序(或程序) > 附件 > 寫字板
?? 3. 在寫字板的文件菜單中,選擇“打開”
?? 4. 在Open窗口的底部,將文件類型設置為"所有文件"
?? 5. 在文件名文本框中,輸入%temp%. 這將會顯示你的系統臨時目錄
?? 6. 定位并打開WCESLog.log
?? 7. 從編輯菜單中選擇“查找”
?? 8. 輸入DoInitOOMSession,按查找
?? 9. 你是否發現以下信息?
????????? * 沒有: 繼續搜索
????????? * 是: 如果找到,你會看到如下信息
??????????? 02/28/2006 19:29:29.755 p(432) t(3320) TraceToFile -> ERROR in COomSession::DoInitOOMSession : hr = 0x80004005 - OomSession.cpp(175)
? 10. 退出寫字板,但請不要保存文件。
? 11. WCESLOG文件中的"DoInitOOMSession"表示你的防病毒軟件阻止了ActiveSync進行同步。請確認你的反病毒軟件是否允許你禁用script blocking
? 12. 你是否可以禁用反病毒軟件中的script blocking?
????????? * 是: 禁用腳本阻止。嘗試同步smartphone.
????????? * 否: 如果你的防病毒軟件不允許你禁用script blocking, 你可以卸載一個DLL來禁用該功能。
? 13. 現在我們打算刪除可能阻止同步的那個DLL,但僅在你無法禁用script blocking的情況下使用接下來的步驟
? 14. 在開始菜單中, 選擇運行
? 15. 輸入regedit點擊確定
? 16. 在注冊表編輯器中,打開HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0006F03A-0000-0000-C000-000000000046}\InprocServer32.
? 17. 當你點擊InprocServer32, 右面的欄中將會顯示一個列表. 第一條就是(Default).
? 18. 右擊(Default)項,選擇刪除
? 19. 嘗試同步你的smartphone.
但用了以上方法之后還是不行。。。
之后發現原來可以通過修復Outlook安裝來解決這個問題,于是就抱著試試看的心理試了一把。。。奇跡出現了,安裝程序運行完之后,一切都好了,哈哈。后來回過頭來想想,可能問題出在這里——我的機器上既安裝了Office 2007又安裝了Office 2003,而且Office 2003是在Office 2007之后安裝的,所以可能覆蓋了一些相關的DLL,所以會導致出現問題。
希望以上經驗對大家有用,當然具體問題具體分析,我個人還是比較推薦大家看 http://kb.palm.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj(41810)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
