將應用程序部署到Win7 x64機器時出現問題。 我引用了幾個32位舊的dll,無法重新編譯爲x64。 我的開發機器是x86,因此它們在這裏可以正常工作。在所有正在運行的64位客戶端機器的我得到的消息:在x64機器中出現「Class not registered」錯誤
"Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object >punkOuter, Int32 context, Guid& iid) at
System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
我試圖改變所有的目標平臺,在x86的Visual Studio 2010和無濟於事。 我也嘗試通過在「AppdData \ Local \ Apps \ 2.0 ...」安裝文件夾中使用regsvr32註冊客戶端機器中的DLL,但出現錯誤: 「模塊」Module.dll「已加載,但條目沒有找到點的DllRegisterServer。「爲每個引用的dll。即使嘗試使用乾淨的x64機器,也沒有。
這些都是衝突的DLL(相關領導工具多媒體庫):
AxInterop.LTMMLib.dll
AxInterop.MSComctlLib.dll
AxInterop.MSComDlg.dll
(與Windows媒體播放器的WinForms控制):
AxInterop.WMPLib.dll
我在網上查找了許多解決方案,但沒有似乎工作。任何輸入非常感謝:)
在此先感謝。
我有這個問題與一些AxInterop的東西太多時,有在系統上沒有安裝Windows媒體播放器。如果你想知道,有「N」版本的Xp,Vista和7 *沒有安裝Windows Media Player *。在這種情況下,你需要下載並安裝在系統上,然後一切正常。 – Akku
供參考:一個媒體播放器下載通常很難找到,一個在這裏:http://www.chip.de/downloads/Windows-Media-Player_13001267.html ...它也可能是,這個編解碼器更新是缺少WMPs:https://www.microsoft.com/en-us/download/confirmation.aspx?id = 6191 ...也在我的應用程序中,我需要安裝一些編解碼器,並剛剛安裝了新版本的K -Lite-Codec Pack以及我的應用程序。希望這可以幫助,不知道這是否是你的問題。 – Akku
AxInterop文件不應註冊。您正在使用您可能未安裝在目標計算機上的ActiveX控件。 LTMMLib來自Lead Technologies,使用供應商的建議安裝程序。 MSComctlLib和MSComDlg是古老的VB6控件,最好完全停止使用它們,並替換爲執行相同操作的.NET類。 WMPLib將不會成爲問題。 –