Error message: "audacity.exe is not a valid Win32 App" !

I recently downloaded the V2.0.6 zip file but when I unpacked everything and tried to run Audacity, good old Windoze claimed “audacity.exe is not a valid Win32 application” :astonished:

After much b*ggering about, it appears the same thing applies to all V2.0.x versions that I tried. However, the legacy version of V2.0.0 works fine as do various V1.2.x versions. The zip files were primarily obtained from Sourceforge but I did also try other sources of V2.0.6 which had the same contents and they wouldn’t run either. Typical download files as below, the first 2 versions work the rest do not:

audacity-win-1.2.6.zip
audacity-win-2.0-ansi.zip

audacity-win-2.0.zip
audacity-win-2.0.1.zip
audacity-win-2.0.5.zip
audacity-win-2.0.6.zip

My system is an antique PC running WinXP/SP3 unfortunately but I believe it’s as up-to-date as is possible given the status of XP. All recent versions of Audacity claim to run on XP of course. The legacy version of V2.0 is apparently intended for Win98/ME primarily.

It seems to me that there has been a change in compiler after V2.0 legacy version based solely on there being different redistributable DLLs in the zip file. Is there perhaps something else that needs to be updated on WinXP systems and/or included in the zip file ? If not then any thoughts/suggestion on what I’m missing here and how I can get current versions of Audacity to run sensibly under WinXP would be appreciated. There just has to be something very silly and pretty obvious going on here even if I’m too blind/stupid to see it ! Many thanks :slight_smile:

Audacity downloads are here: Audacity ® | Download for Windows. If you download elsewhere you may get viruses or versions of Audacity not made by us.

Please be careful with XP. It is a security risk given Microsoft no longer supports XP with patches. See audacity not saving - #3 by Gale_Andrews

If you have a download manager, turn it off or you will get the same corrupted download each time. Clear the download list in your web browser for the same reason.

If this was 64-bit XP, the only valid reason you would get that error with a correct download and properly functioning system is if you downloaded a 16-bit application. For 32-bit XP you would get that error with a 64-bit application. Audacity is 32-bit so that does not apply.

When you have redownloaded from us, you could try right-click over the installed/unpacked audacity.exe > Properties, then try different compatibility settings.

Even if that works, run a complete overnight anti-virus check. You need to do that at least once a week on XP.

See Windows 7 and .exe is not a valid win 32 application message - Microsoft Community for some file system checks you can make. Or just backup your data and reinstall Windows, or (safer) install a version of Linux.


Gale

Audacity 2.0.6 runs on XP SP3 for me. So yes, in principle it runs on such a system. Windows error messages are sometimes misleading and could indicate system file problems.

I doubt it is worth the experiment of installing Visual Studio 2005 (VS8) and an SDK and attempting to compile wxWidgets and Audacity 2.0.6 then replace the msvc* DLL’s and the manifest file. Audacity likely would not compile any longer.

Did you experiment with different compatibility modes for audacity.exe?

I am not convinced it would help but you could also try installing or repairing the appropriate Microsoft Visual C++ 2008 SP1 Redistributable Package .


Gale

Why exactly has my last post documenting download sources and suggesting there is some issue with the way Audacity is being compiled/packaged rather than some issue with downloaded data not appeared as yet ? Seems very strange that you’ve posted another reply but my message has not appeared at all.


However, I’ve been doing some poking around in the meantime. It would seem to me that there is almost without doubt something ‘wrong’ with the way Audacity is being compiled and/or the way the redistributables are being included. By ‘wrong’ I mean WinXP doesn’t much like what’s being done although other OSs may well not be quite so picky about it of course. What I do know for certain is that manually tweaking (aka hacking and bodging !) the manifest apparently resolves the problem fully. I therefore suspect that you’re probably quite right in saying that installing the MS redistributable will resolve the issue and I’ll give it a try some time later when a reboot will not cause any grief.


Data extracted from non-working executable:

Data extracted from relevant manifest:

Anyone care to explain to someone who knows b*gger all about Visual C++ (or whatever it is that’s actually being used for development) exactly what is going on here ?


What I do know is changing the manifest entry to be identical to that embedded in the executable or even deleting it completely fixes the problem without any obvious side-effects being seen so far.

In conclusion: As supplied, all recent versions of Audacity fail on my WinXP/SP3 system with the “not a win32 app” error. After tweaking the manifest, all recent versions of Audacity immediately start working correctly. I suspect the system you tried your install on probably has the relevant redistributables already installed so the manifest supplied with Audacity is perhaps being ignored.

The words “Ooops”, “finger” and “trouble” immediately spring to mind :stuck_out_tongue: Although I fully accept that I might well be 100% wrong of course and this is just a hack so please do note the quite intentional " :stuck_out_tongue: " at the end. Please don’t take my comment as being a direct insult. It’s definitely not intended to be because I fully accept that s**t sometimes happens and all that :slight_smile:

The only messages from you that I can see on the system are your two messages in this topic. If you posted others, it appears that the forum software did not receive them.

FWIW, I have a Windows XP SP3 installation that I use for testing purposes. It has very little else on it other than Windows XP SP3, Microsoft Visual C++ 2008 SP1 (required to run Audacity on Windows XP) and Audacity. Audacity 2.0.6 runs fine on that setup.

How strange. I got the page saying the post was awaiting moderation after submitting it but then my next message appeared immediately without apparently being held back for moderation.

This is what was ‘eaten’ just for the record anyway:

PLEASE NOTE: > All URLs below have been intentionally made non-clickable just in case there is some problem with these locations or files.

Thanks for the reply. However, as I said initially … I downloaded the zip files primarily from sourceforge, that is by following links starting at the Audacity home page http: //audacityteam.org/

Current version: http: //sourceforge.net/projects/audacity/files/audacity-win-2.0.6.zip
following the link on http: //audacityteam.org/download/windows [##]

Current and previous versions from: http: //sourceforge.net/projects/audacity/files/audacity/
after following the link on http: //audacityteam.org/download/windows

Legacy Version from: http: //audacity.googlecode.com/files/audacity-win-2.0-ansi.zip
from the link on http: //audacityteam.org/download/legacy_windows

I did not initially download anything from anywhere that wasn’t linked to via http: //audacityteam.org/ Only after issues arose did I look at downloads from elsewhere and I found them to have identical contents to the files already obtained from sourceforge. No independent D/L manager was used. All files were simply downloaded in Firefox. Cache regularly cleared when attempting repeat D/Ls and all files, even repeat D/Ls, were seen to be downloaded rather than being obtained from cached or other local sources. Comprehensive system and network logs should be able to confirm exactly where the data came from if needs be given sufficient time to go through them. I have absolutely no reason to believe that there is any upstream caching on my connection. All files were virus checked locally before and after unpacking. No problems, error or potential corruption was identified. WinXP is the 32-bit Pro version with all available updates installed. I am, needless to say, well aware of the potential risks.

In short, whilst I cannot at this stage confirm whether there is/was a pre-existing malware issue with my system or not, all possible steps were taken to ensure that a valid zip file was obtained from a valid location and then checked locally prior to use.

I may be stupid … but I’m never stupid enough to intentionally D/L random files from random places and then just blindly run them without at least making some sort of effort to check their provenance and contents first. That is why I always have a preference for obtaining no-install stuff in zip files rather than having to blindly click on some executable and allow Windows to get way more involved behind the scenes than is in any way necessary.

I will of course be performing detailed checks for existing malware and reviewing the info on the links you provided in due course needless to say. However, I still can’t help feeling that the apparent compiler changes after V2.0 Legacy was released and XP compatibility issues are at least partly responsible for whatever this issue is. All old versions are fine, all new versions are not. The only obvious and very visible difference appears to be that all ‘old’ versions require msvc?80 DLLs whilst all ‘new’ versions require msvc?90 DLLs. I’m a million miles away from being even remotely close to an expert so this may well be pure coincidence and/or completely irrelevant … but it looks somewhat suspicious to me at the very least !

[##] It looks like http: //> www.fosshub.com/Audacity.html/audacity-win-2.0.6.zip > may also be randomly linked to on some occasions, however, the resulting files appear to be identical to those from sourceforge.

It does seem as though this is some weird issue of good old Billy Gates’ making or the merest hint of finger trouble somewhere doesn’t it ! Forgot to say that changing ‘compatibility modes’ did nothing needless to say. The problem is almost certainly something to do with the way ‘new’ versions are being compiled/packaged and the fact WinXP is more than a bit of a dinosaur in comparison to what’s being used for development and testing. I believe there are some versions of Visual c++ that quite intentionally do not produce code that can be run on WinXP as well. There are apparently also known issues with correctly producing manifests following some upgrades to Visual C++. All-in-all a bit of a can of worms I suspect so probably best not to open the lid too far or peer inside for too long :laughing:

I will try installing the suggested Visual C++ redistributables as soon as I get the chance and let you know whether it also resolves the problem or not. I can’t do it right now because I have important stuff running and the most likely required reboot would seriously screw things up. In the meantime, a suitably hacked manifest will obviously suffice :slight_smile:

It was here previously - that was what I replied to.

It was decided some years ago that mismatched version numbers gave fewer issues on later versions of Windows.

Yes that system has the redistributables as it was a new Windows XP installation. Without the redistributables the configuration error 14001 will usually occur when launching Audacity on a new XP system (but “not a valid Win32 application” does not usually appear).

The next 2.1.0 version of Audacity will be built with Visual Studio 2013 but it has been configured to still support building for XP SP3. We won’t continue supporting XP indefinitely.

Can you launch 2.1.0 alpha (topmost build here gaclrecords.org.uk) before installing the MS redistributables? I don’t include a manifest file. At the moment I don’t think there is one to include that is analogous to the one included with 2.0.6, although there is a manifest
embedded in audacity.exe.

Gale

Hmmmmmm … I’m very sorry but I can’t help feeling that the most appropriate response to the above post could well be:

while(true != false) {
printf(“mostly wrong ! n”)
}

… as no doubt is the above code fragment I suspect :laughing:

Unfortunately I’ve already installed various versions of the VC* distributables and done numerous tests and so on. I must freely admit in advance that what follows may well also be somewhat wrong due to me misunderstanding things because all of this is very much outside of my field of knowledge. However, it is how my somewhat uneducated eye sees the current situation after finding many reports of very similar issues, having a good look at the VC* distributables packages, finding references to known bugs in VC* and seeing what the Audacity code makes direct reference to.

As can quite clearly be seen from the Audacity code extracts I quoted previously:

(1) The Audacity executable was apparently compiled using VC2008 but even if it wasn’t, it does make specific reference to the DLLs relevant to VC2008 (i.e. V9.0.21022.8)

(2) The manifest being supplied with ‘new’ versions of Audacity was apparently produced using VC2008/SP1 and the associated DLLs appear to be those supplied with SP1 (i.e. V9.0.30729.1)

I would therefore suggest that it is fundamentally wrong to state that installing VC2008/SP1 distributables is required in order to run Audacity. In any case that is apparently exactly what is being supplied in the Audacity zip files that I’ve been using of course. Audacity will not work using the supplied VC2008/SP1 distributables. What is apparently required before running Audacity as it stands at the moment is to install the VC2008 distributables which is presumably what should have been supplied in the Audacity zip files. Audacity needs to be recompiled to correctly reference VC2008/SP1 distributables if that is what’s intended to be used and/or what is actually required by the code.

In principle, one would think that a higher version DLL /ought/ to be acceptable. HOWEVER, that may well not be the case of course. It is equally possible that by design, version numbers must match precisely not just be greater than or equal to those used when an application was compiled. I have no idea what the official requirement actually is because I have no knowledge of Visual C++ … but it seems to me from what I’ve been doing here that the versions MUST match exactly and a local copy of a greater version is simply not acceptable. This mis-match in version numbers appears to be precisely what is causing the “not a valid app” error. Apart from any other consideration, there’s no point whatsoever in having different versions and specifically referencing them if it doesn’t actually matter that much in reality. Audacity really wants to use V9.0.21022.8 DLLs but it can’t find any. It can only find V8.0.* DLLs on the system and V9.0.30729.1 DLLs locally … so it either falls over or WinXP intervenes and objects but either way the end result is a “not a valid app” error. Other applications and other OSs can (and often do) produce different error messages but the end result is always the same - the application doesn’t run. Hacking the manifest apparently works quite simply because it fools Audacity and/or Windows into believing the V9.0.30729.1 DLLs that it’s actually going to use are really V9.0.21022.8 DLLs !

The bottom line however is that the version required by an application and that provided with an application quite obviously should match exactly. There is absolutely no excuse for this not to be the case needless to say. BUT WITH AUDACITY IT DOES NOT !! Audacity will therefore run IFF the ‘right’ version DLLs just so happen to be found lying around somewhere on the target system. Whether the ‘right’ version is that used when the application was compiled, that referenced within the application or that specified by the associated manifest is anyone’s guess. Likewise, whether the application will work entirely correctly and as designed with one DLL version and/or the other is also anyone’s guess.

What a bl**dy mess :unamused: and it has to be said, a very good demonstration of how an almost total lack of control in software development in general frequently causes end-users no end of unwanted and totally unjustified grief. Whilst the root cause of this problem appears to be solely down to Billy Gates & Co not fixing known bugs, it’s apparently also an issue that’s been around for several years and one that’s well known to developers. Much as I have the utmost respect for those who are developing Audacity and many other excellent applications … there does appear to be a fundamental lack of version control here and a bit of Quality Control involvement most certainly wouldn’t go a miss and all that :wink:

If I can find any good links that explain the problem(s) far better than I possibly can then I’ll post them later. However, someone with good level of technical knowledge might want to have a quick look at Visual C++ bug report #361682 which I stumbled across as it relates to this sort of problem and also reveals that it was blatantly closed without any sensible action being taken to rectify it. I think someone certainly needs to look in some detail and understand fully the real-world implications when code is being released that requires the use of specific versions of the distributables. The right version(s) need to be supplied or the end-user needs to be correctly informed of what needs to be installed in advance.


[rant]

(definitely not specifically aimed at the Audacity team but rather towards ALL software developers in general because this kind of nonsense wasting extraordinary amounts of my time really p****s me off !)

A quick search will reveal that there is absolutely no shortage of users reporting problems very similar to what I’ve raised here involving many different applications and various other OSs. In every single case I’ve looked at, the only support suggestions have been corrupt files, malware, system problems etc. resulting in lots of b*ggering around for the end-user and no real solution being found in most cases. Nowhere have I seen any positive and particularly helpful suggestions. Nowhere have I seen any reference to what I can now see is a very well known development issue where incorrect DLLs are often being referenced by or provided with applications developed using Visual C++. The number of man-hours/days/weeks/months/years being wasted due to the inevitably lengthy periods of general messing around and in some cases due to end-users being told to reinstall or upgrade their OS must be astronomical. And all because of well known MS bugs that no one apparently either understands fully the implications of, has any desire to fix properly and permanently or even wants to freely confirm the existence of in public to those who actually NEED to know about them. It’s no surprise to me that developers always have a seemingly insatiable desire to hide all of their code in an anonymous executable installation package so that the end-user has absolutely no idea exactly what’s going on and what it actually contains. All they know is that running the installation package either works as intended and has the desired results … or doesn’t. If it fails for any reason whatsoever then they have absolutely no way of working out why and resolving whatever the problem might be or of properly cleaning up the mess generally left behind by a failed installation.

… and breathe :laughing:

[/rant]

And yet you freely rant about the “bl**dy mess” created by the Audacity developers, who are actually experts in this field :confused:

I’m not an expert in this field, so to install Audacity on a fresh installation of Windows XP SP3, I just followed the instructions given in the FAQ and it worked.

As I said, experience has shown that fewer issues are caused to users on Vista and later (the majority of Windows users) if the version numbers don’t match.

“Quality Assurance” was in on those discussions. When the manifest versions matched as 9.0.30729.1, there were far more complaints about Audacity not launching on later Windows systems than there are complaints now from XP users. As you’ll be aware, Windows should understand that when the 9.0.30729.1 msvc* DLL’s and 9.0.30729.1 manifest are included with the executable that it should simply use those. But it doesn’t reliably do so on later Windows when the embedded manifest version matches - those are Microsoft issues.

Yes, this does most likely impact on XP, but you didn’t (and as far as I know) still haven’t run or repaired the VS2008 SP1 redistributables. Also I don’t think you have tested changing compatibility mode.

Editing the manifest file as you did to V9.0.21022.8 does sometimes work on XP yes, but sometimes it does not. Hence the advice remains, run or repair the VS2008 SP1 redistributables. The error you got is not common (it should have been error 14001) so something non-standard is going on in your machine (whether you want to admit it or not). So the advice remains to check your system files. You have chosen to run a system that is no longer supported with essential security updates.

Just so you know, nothing will change with the current situation because it is history now. The next Audacity release will use VS2013. So do feel free to test 2.1.0-alpha on your system. :wink:


Gale