當我的UAC(用戶帳戶控制)未設置爲非限制性「Never Notify Me」時,發生0x800401E3(MK_E_UNAVAILABLE)錯誤。Marshal.GetActiveObject(「Word.Application」)中的MK_E_UNAVAILABLE
Microsoft.Office.Interop.Word.Application wd = (Microsoft.Office.Interop.Word.Application) System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
當代碼發佈和安裝項目後運行時所引發的錯誤。在編輯器中調試時,一切都很好。
這是由於安全設置或憑據?如何正確編寫這樣的代碼?
Win Word是開放的,當然也有一個文檔是開放的,而且這個代碼在UAC被設置爲「Never Notiz Me」時一直工作正常。
用UAC通知設置更改解釋這是一個延伸。錯誤代碼僅僅意味着它無法找到正在運行的Word實例。 Word很容易解釋爲沒有運行。向您的問題添加詳細信息:您是如何確保Word實際上正在運行的? – 2013-04-08 11:31:23
謝謝。其實我不打算解釋,只是想報告一下觀察。我偶然發現了與UAC的連接。我的代碼一直運行良好,並且它在UAC設置爲最低限制級別時又這樣做了。 Word只是在運行,如果沒有,代碼的目的是在這一點上保持沉默,事實確實如此。使用UAC進行限制設置時,只要在調試模式下運行(在編輯器中),代碼就會繼續查找單詞並且無錯誤。 – 2013-04-08 17:07:45