FB running as a 32 bit process on a 64 bit server, causing REGEDT to not add registry entries to the 32 bit hive

This is a complicated one so bear with me.

We use FinalBuilder for deployments. It’s installed on every target server (about half Win 2003, half Win 2008 R2 64 bit) and projects are launched (using FBCMD) via a service listening for deployment requests over a port.

Sometimes the deployment script (a bat file) will include updating the registry via REGEDT and the name of the .reg file.

The problem is that on 64 bit servers, the hive is only added to the 64 bit location. If we execute the file while logged onto the server, it adds to both locations. The service that launches FinalBuilder runs as a domain account with full and total Admin privileges on every server.

More from my colleague:

"After watching the deployment I have observed the following behavior:

 1)      Using both REGEDT32 and REGEDIT has no effect on the problem.

2)      Running the snippet of the .BAT file that contains the registry instructions myself on the server adds the registry entries to BOTH places.

3)      When the deployment ran just now it ONLY added them to the 64-bit location.

 As far as I know FinalBuilder runs as a 32-bit process.

What is different between my running the .bat file from my Windows account and the FinalBuilder process executing the .bat file? Does running the .bat file from a 32 bit versus a 64 bit process produce different results?"


Any ideas about this problem? A sample of what the registry file includes would be like this:


[HKEY_LOCAL_MACHINE\SOFTWARE\PDQMS\something]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDQMS\something]

Thanks,



Owen

Hmm… I have no idea. I assume you are using the run dos command to execute the batch file?

Why not use the Registry actions in FinalBuilder, they have an option to use the 64bit registry, so you can just update the 32bit and 64bit registry separately.

Hi Owen,

It is an amazingly complex thing the windows registry. So bear with me as I explain what is most likely occurring here

Thanks guys.

I wish I could use the FB actions but… a long time ago I ported an older process to this process and one of the things that happened was an initial script generation process. The deployment instructions are written out by an app to a batch file prior to the deployment being launched to each server.

This may induce me to skip registry deployment objects in that process and have my target FB project parse the deployment objects and do it there instead.

Something to think about.