Aspnet_regiis 位于 32 位 Web 应用程序的 Framework64 文件夹中

问题描述 投票:0回答:2

在 64 位系统中,是否有任何理由使用 Framework 文件夹中的 aspnet_regiis 而不是 Framework64 上的 aspnet_regiis ?即使对于编译为 x86 的应用程序,我也知道只需在 Framework64 中使用 exe 注册 aspnet 并将应用程序池设置为启用 32 位即可。

那么两者有什么区别呢?

iis x86 aspnet-regiis.exe
2个回答
7
投票

我在 MSDN 上找到了以下内容(http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.100).aspx):

Aspnet_regiis.exe 的 32 位版本仅添加 32 位脚本映射 Applicationhost.config 文件。 64 位版本 Aspnet_regiis.exe 将 32 位和 64 位脚本映射添加到 Applicationhost.config 文件。这样做是因为 64 位版本 Windows Vista、Windows Server 2008 或 Windows 7 安装 启用 IIS 7.0 还将在 Windows 64 位 (WOW64) 上运行 Windows 提供支持。

还有,

Aspnet_regiis.exe 有 32 位和 64 位版本。对于 Windows Vista和Windows Server 2008,可以运行32位版本 64 位 IIS 安装上的工具。这使您可以运行混合 32 位 和同一 64 位系统上的 64 位工作进程。下列 表列出了运行时适用的特殊情况和限制 64 位版本的 IIS 上的 32 位版本的工具。

此后解释了 IIS6.0/7.0 的具体信息 - 引用了适用于 IIS7.0 的部分:

在 Windows Vista、Windows Server 2008 或 Windows 7 上,当您运行 IIS 7 下的 32 位版本的 Aspnet_regiis.exe,该工具不 自动设置的enable32BitAppOnWin64属性 应用程序池元素。在默认 64 位操作系统上 安装,在启用Windows on Windows 64的情况下,可以使用32位 Aspnet_regiis.exe配置IIS 7,但你将无法运行 任何 32 位应用程序,除非您明确更改 enable32BitAppOnWin64 属性以启用在以下位置运行应用程序 Windows 64 上的 Windows。有关 IIS 7.0 的更多信息 配置选项,请参阅 applicationPools 的文档 Applicationhost.config 文件中的元素。

到目前为止,我还使用您在问题中描述的方法成功运行了 32 位 Web 应用程序。


0
投票

我发现,如果您使用 aspnet_regiis 向应用程序池帐户授予权限,然后更改该帐户,则在授予权限后,您应该删除 C:\Windows\Microsoft.NET\Framework64 4.0.30319\Temporary ASP.NET Files 和重新启动应用程序池以允许其重建

© www.soinside.com 2019 - 2024. All rights reserved.