#34 Windows 8 Binary Incompatibility

v1.0.1
open
sst1
None
5
2013-09-03
2012-08-09
ViRGE
No

Unfortunately it looks like Windows 8 compatibility is going to be a minor issue right now.

As it stands the current binary distribution of v1.0 does not work on Windows 8; WInamp will not load the plugin, which indicates there's something wrong with the plugin's execution. All of the necessary pre-reqs are installed, and I've separately confirmed that VC80 and OpenAL programs are working correctly (along with Winamp itself of course), so it doesn't look like the issue is as simple as a missing pre-req. I've confirmed this problem on both on real hardware (Intel Core i7-3960X system with an X-Fi Titanium) and in virtual hardware (VMWare).

On the other hand, recompiling the plugin using the latest OpenAL and Winamp SDKs on Visual Studio 2010 produces a perfectly workable plugin.

Seeing as how debugging DLLs isn't my specialty and I don't have easy access to VS2005, I'm not going to try to guess at what exactly is going on. But as it stands the current binary will not do.

It's up to SST1 what to do of course, but the easiest solution at this point would be to just formally port the project to VS2010, rebuild it, and distribute the new binary as a new version (replacing the VC80 redistributable with VC100).

-Thanks
ViRGE

PS I'm also attaching a copy of the VS2010 compiled DLL as quick proof that it's working

Discussion

  • ViRGE
    ViRGE
    2012-08-09

    v1.0 compiled with VS2010

     
    Attachments
  • sst1
    sst1
    2012-08-12

    • assigned_to: nobody --> sst1
     
  • sst1
    sst1
    2012-08-12

    I use (or used) Visual Studio 2003 but it does surprise me that it isn't binary compatible. Chances are I shall rebuild it with the express editions when Windows 8 is released and the SDKs are updated rather than release it pre-maturely.

     
  • ViRGE
    ViRGE
    2012-08-13

    Even with VS2003, I was equally surprised that it wasn't binary compatible. Microsoft has done a very, very good job of maintaining binary compatibility between Win6.x versions, which is what makes this so weird. There is no good reason that I'm aware of for why Win8 would break this plugin.

    As for rebuilding it, judging from your reply you're thinking of using VS2012? Do keep in mind that VS2012 will not be able to generate binaries compatible with Windows XP (for that you need VS2010). I don't know how many people are actually using this plugin with XP - and I hate it anyhow - but it should be given consideration.

    Otherwise it's just a matter of seeing how VS2012EE turns out since it's an unknown quantity at the moment. Microsoft was originally going to limit it to building Metro applications (and the RC shipped as such), but after protest changed their mind and will let it build desktop applications too. So I'm not 100% sure it will even be possible to build the plugin with VS2012EE, but we should know more for sure in a few days with the MSDN release of VS2012.

     
  • ViRGE
    ViRGE
    2013-08-31

    Seeing as how Windows 8.1 (aka Win8 SP1) is due soon, are there any updates on getting the official package updated?

     
  • sst1
    sst1
    2013-09-02

    Rebuilt for VS Express 2012.

     
  • sst1
    sst1
    2013-09-02

    • Group: v1.0 --> v1.0.1
     
  • ViRGE
    ViRGE
    2013-09-03

    Thanks for the update, sst1. I've tested 1.0.1 on every Win8 system I have, and all of them are running without issue. So it looks like this bug can be closed.