Reputation: 49247
I am installing a .NET (C#) application that is 100% managed code. The installer (InnoSetup) always wants to install the application to the "Program Files (x86)" folder in Vista x64, which I'm assuming is because the installer itself is only 32bit. (please correct me if I am wrong) Here are my questions:
Thanks!
Upvotes: 9
Views: 4125
Reputation: 13944
Reference: Install Mode: 32-bit vs. 64-bit.
Definitely not. You could put your program in C:\Users\All Users\Desktop, and your application would run just fine.
As Jeff mentions, if you are compiling to "Any CPU" managed code, this code can be run on 32-bit or 64-bit Frameworks. Perhaps it is because the code can run on 32-bit that the installer chooses the 32-bit Program Files directory. I don't know InnoSetup much at all.
Reference: advantages to compiling as 64 bit and considerations of 32 bit vs. 64 bit. Things to think about in choosing "all 64 bit". And also even when you do, asking the question "Are you sure?"...
I would not recommend putting 32-bit programs in the 64-bit installation directory, but this is simply for convention. You should be able to configure a default installation path in the installer script.
Upvotes: 3
Reputation: 8624
The only problem i could think if you hardcoded any values for manipulating files in that folder. But im sure you didnt :)
Upvotes: 0
Reputation: 20053
Probably not. Being in that (x86) folder makes older applications tend to find it easier (if that's needed) because they reference it by the environment variable.
Yes. As long as your EXE is marked as "Any CPU" it should be JIT compiled as 64 bit.
It'd be clearer that it's 64 bit.
Upvotes: 8