简体   繁体   中英

Windows Media Player not working on Windows XP using visual studio application

I have embedded the WMP control in my Visual Studio 2010 app which works on windows 7 (Framework 4.0), but installing the app on winXP, I get the following error:

System.IO.FileNotFoundException: Could not load file or assembly 'Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
   at Aquila_Media_Manager.modMediaPlayer.Play_File()
   at Aquila_Media_Manager.MainForm.tsbPlay_Click(Object sender, EventArgs e) in C:\Users\Micba\Documents\Visual Studio 2010\Projects\Aquila MedMan\MainForm.vb:line 2718
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

I guess this is a reference issue, but I have added references to WMP libraries (axinterop.wmplib.dll and interop.wmplib.dll). The WMP works on the XP machine, but not when called from my application.

I have searched the web now for 5 days and changed references, and reinstalled the media player on the XP machine, but nothing works.

Thanks for any help.

Change your build configuration to x86 instead of AnyCPU. This will build it as a 32-bit application and the Interop.WMPLib will work fine. The issue is that there is not a version of the Interop WMPLib for 64-bit, at least as far as I can find.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM