您可以在64位PC / OS上安装.NET Framework Client Profile 32位版本吗?

时间:2010-10-27 11:03:00

标签: c# .net vb.net visual-studio visual-studio-2010

主要是我问这个是因为我不想分发这两个版本,如果我需要在x64 PC上安装64位.NET,在32位PC上安装32位.NET,那么我需要进行此检查在我的加载器应用程序中为正确的PC下载正确的版本。

然而,如果我只是为所有人做一个,那会更容易 - 而且我只想知道在做这个之前是否应该知道任何事情(即:任何影响?)还是一切都好?

另外,当我在64位版本的VS2010中编译一个exe时,它是默认编译32位exe还是64位?我假设32岁,但只是想确定。

感谢。

2 个答案:

答案 0 :(得分:5)

如果您的编译目标是AnyCPU,那么该应用程序将在64位操作系统上运行为64位,在32位操作系统上运行为32位。如果您的目标是x86,那么无论操作系统如何,该应用程序都将以32位运行。如果你的目标是x64,那么该应用程序只能在64位操作系统上运行。

64位版本的.Net还包括32位dll。

如果必须从Internet安装运行时,请使用web installer。它将负责在客户端上下载和安装正确的版本。这样,您可以定位AnyCPU(或x86),并确保无论操作系统如何,应用程序都将运行。

如果您需要在应用中打包.Net,请下载包含32/64位版本的完整文件 - http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe

Client profile web install

Client profile full install

可以使用/q参数进行无提示安装,您也可以添加/norestart并在必要时自行重启。

查看此blog postMSDN documentation,了解哪些开关可用。

答案 1 :(得分:3)

.NET引导程序会在具有64位操作系统的计算机上自动安装32位和64位版本的.NET框架。你无需告诉它这样做。避免自己分发.NET框架,您将很难跟上安全更新。只需勾选安装项目的先决条件中的选项以获取引导程序,如果需要,将在目标计算机上安装最新和最高版本。为托管程序创建安装程序时,会自动勾选该选项。

没有64位版本的VS2010,无需担心。

EXE项目的Project + Properties,Build选项卡中的Platform Target设置是相关的。在VS2010中从头开始创建的项目中默认为x86。除非您需要64位进程可以提供的额外虚拟内存空间,否则没有充分的理由将其更改为AnyCPU for Release版本。如果您确实更改了它,请确保彻底测试它。我知道你一直在修补非托管COM服务器,x86可能是一个很难的要求。