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