Problems on 64 bit Windows

I'm running FBP5 on Svr 2003 R2 SP2 X64. 

I have a number of tasks that invoke helper programs that exist in directories on the PATH.  I've verified that these programs do exist, and that the directories are on the PATH, but FBP (which is a 32-bit EXE) is unable to find the target EXE.  If I change the task to give the full path to the target EXE, then the task succeeds, suggesting that 32-bit apps are somehow seeing a different version of the PATH than 64 bit apps.  Curiously, FBP can successfully invoke VS2005 to build a project, but if that project include pre- or post-build steps that invoke external 32-bit apps, those steps also fail, again as-if the 32-bit app is seeing a different version of the PATH.

A quick-n-dirty C# program executed as a 32-bit app, however, shows the exact same PATH contents as I see from the 64-bit cmd.exe command shell.

Anyone run into this?  I'm ready to blame WOW64 (I'm sure it's "helping" somehow), but...

Hi Carl,

From what I’ve read at ‘http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/wow64_implementation_details.asp’ only a few environment variables are changed (%ProgramFiles%, %CommonProgramFiles%, etc…) by Wow64. To compare the environment variables that FinalBuilder uses and the ones that are used by a 64-bit application, use the Log Variable value action to log the environment variables, then compare them to the values returned by ‘echo %variable%’ at the command prompt.

Also which actions are you using to invoke these helper programs?

Regards,
Paul.

Yeah - I've seen those docs too, so I'm surprised to run into this kind of problem!

I'm having problems with two items:  The first is an "Execute Program" action, specifying an executable (signtool.exe) that's on the PATH as seen by both 32 and 64 bit processes.  If I specify the "Program File" as simply "signtool.exe", FinalBuilder complains that it can't find the program.  If I supply the full path (C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bin\signtool.exe), then the action runs successfully.

Elsewhere, I'm using a "Build Vs.Net Solution" action to build a solution containing several Visual Studio Deployment Projects.  Those projects contain post-build steps that also invoke signtool.exe, and I have the same problem with them: even though signtool.exe is on the PATH, unless I change the project to use the full path name, VS complains that it can't find signtool.exe and the action fails.

It's not just signtool.exe either - I have other "Execute Program" actions that invoke other programs that are in folders on the PATH and they too don't work unless I specify the full path in the action.

OK, getting closer.  The problem with signtoool being invoked from Visual Studio as a post-build step was that it really wasn't on the path - I was being misled by looking at the path in a "Visual Studio Command Prompt" (duh!).

With the VS SDK bin directory (where signtool is) on the PATH, VS can now find signtool for post-build steps.

So that leaves only 'Execute Program' tasks that are still failing.  A "Log Variables" task immediately before shows that the folder containing the target program is on the path, but FBP can't find it for some reason.  The target programs for these tasks are all console apps, some written in C# (that will run as 64-bit apps on this machine) and some written in C++ (that will run as 32-bit apps on this machine).

 

Hi Carl,

What version of FB are you using? For a while FB 5 had a bug where you couldn’t specify executables like this (it wasn’t searching the path, and would report executable not found or something similar.)

I don’t have access to our source repository at the moment, but as soon as I do I’ll let you know what version it was fixed in.

If you are using a recent version of FB, can you let us know exactly what the action output is, please?

Regards,

Angus

I'm using version 5.0.0.50.

The output is  "Exe: GetDatabase.exe - does not exist!".

I'll try installing the most recent version - I don't know why I haven't done that already!

*hanging head in shame*  Yeah, that fixed it.  I musta had some kind of mental block against checking for updates.

Thanks!

Hi Carl,

Great, glad you got it fixed.

- Angus