Hello All,
I have set up a function within an application's installation that determines whether .NET framework is installed on the system, and if it is not found, it is installed. Now, I need to differentiate between 32 and 64-bit systems, calling the appropriate .NET exe if the framework is not found.
This seems straightforward enough: I use a conditional if...then statement with RegDBKeyExist, using "SOFTWARE\\Microsoft" to determine if it's a 32-bit system; and "SOFTWARE\\Wow6432Node" for 64-bit. But what I'm finding is that the installation prompts the user to install the framework twice if one installs on a 64-bit system, that somehow both of the RegDBKeyExist calls are returning TRUE, even though HKLM\SOFTWARE\Microsoft does not exist on a 64-bit Win 2k3 system. (If I install on a 32-bit system, it works correctly.)
What am I doing wrong?
Thanks for any help/suggestions anyone out there can offer.
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
installing .NET framework on 32 and 64-bit systems
Started by
Mariscal
, Jul 05 2007 19:47
2 replies to this topic
Posted 09 July 2007 - 15:12
I have no experience with 64-bit systems, but I have incorporated the installation of the .NET Framework into my setups, so I'm wondering exactly what switches you're passing that redistributable?
Posted 11 July 2007 - 17:24
I changed my tack a bit, and got it to work--instead of using two if...then statements (one each in the case of 32 and 64-bit registry), I simply used an if...then...else, with the 64-bit registry check coming first. This prevents there from being two prompts to the user when installing on the 64-bit system. It's a bit of a fudge, true; I haven't actually determined why in the case of a 64-bit system it wasn't working with the previous setup. But it is working now, and so I am happy.
Thanks for your response.
Thanks for your response.