Friday, May 14, 2010

Aerofoil update and 64 bit

I've recently updated Aerofoil to use a newer version of the GUI toolkit, WxWidgets 2.90, and got it building in Visual C++ 2010 Express Edition which has led me to idea of doing a native 64 bit build. Technically this will be no more efficient than the existing 32 bit but purists out there (myself included) would like to see a 64 bit build. Unfortunately as I'm no longer using VS 2008 Express I'm waiting on an integrated 64 bit compiler due in June and Microsoft say...

From the Windows SDK blog
I want to use Visual C++ 2010 Express. Should I install the Windows SDK v7.1?

If you install Visual C++ 2010 Express.... the Windows SDK v7.1 includes more tools than are delivered with Visual C++2010. If you want to install .... 64-bit native compilers/CRT, you may wish to download and install WinSDK v7.1....
and...
This SDK will be released soon after the RTM version of Visual Studio 2010 is released


I haven't decided whether to add any new features.

6 comments:

Anonymous said...

After installed the Visual C++ 2010
I got this error when open Aerofoil


The procedure entry point ??1_NonReentrantPPLLockHolder@details@Concurrency@@QAE@XZ could not be located in the dynamic link library MSVCR100.dll.

Benjamin said...

I'm not sure what's causing that - can you make sure you've got the correct version (x64 or x86) and the correct language variant (I'd linked to English on the other blog page). You'll probably also need to reboot.

Anonymous said...

It is the correct version but I have no idea what is the language variant you are talking about. I took the file from here and I'm using an English Windows:

http://mirror.viperfang.net/silentdevelopments/downloads/aerofoil/aerofoil_setup_1.5.1.zip

Benjamin said...

It seems you're the second person to see this fault and I have no idea what's causing it. (I have a 32 bit Vista machine and a 64 Windows 7 to test). The fault lies in the VC++ 2010 runtime not registering itself properly so the old runtime, which doesn't have the entry point, is being used. That fault could be down to anything such as custom machine config, antivirus, registry cleaners, missing registry keys, etc. I'd recommend you try the version 1.5.0 which has the same features but is built with VC++ 2008. When Windows 7 service pack 1 is released I'd give 1.5.1 a try again since that service pack will update the VC++ runtime. You can see all Aerofoil downloads here: http://mirror.viperfang.net/silentdevelopments/downloads/aerofoil/

You want aerofoil_setup_1.5.0_03.zip

Incidentally as more and more software will be built with VC++ 2010 you might see the same error more often :(

Benjamin

Anonymous said...

I also realized that when manually registered the msvcr100.dll and got this error:
[Window Title]
RegSvr32

[Content]
The module "msvcr100.dll" was loaded but the entry-point DllRegisterServer was not found.

Make sure that "msvcr100.dll" is a valid DLL or OCX file and then try again.

But version 1.5.0 works fine...thanks anyway

Benjamin said...

That error message can occur when the dll is not for the correct architecture (I guess regsvr64 must be used), the file is invalid or locked, or there is a corrupt version in memory:

Some more MSDN details:

http://support.microsoft.com/kb/249873

This might not be helpful now but if you get any future software issues it might give you a starting point.

Benjamin