.net InstallUtil 实用程序 - 32 位与 64 位 [英] .net InstallUtil utility - 32 bit vs 64 bit

查看:22
本文介绍了.net InstallUtil 实用程序 - 32 位与 64 位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个编译为 AnyCPU 的 Windows 服务.我正在尝试将其放入我们的安装程序中进行分发.但是...我不清楚 32 位和 64 位版本的 InstallUtil 之间的区别.有谁知道有什么(如果有的话)?

I've got a windows service compiled as AnyCPU. I'm trying to get it into our installer to distribute. However... I am unclear on the difference between the 32 bit and 64 bit versions of InstallUtil. Does anyone know what (if any) there are?

在我的 64 位机器上,我可以运行 $(WinDir)Microsoft.NETFramework64v2.0.50727 或 $(WinDir)Microsoft.NETFrameworkv2.0.50727.

On my 64 bit machine, I can run either the $(WinDir)Microsoft.NETFramework64v2.0.50727 or the $(WinDir)Microsoft.NETFrameworkv2.0.50727.

在这两种情况下,任务管理器中生成的服务进程都没有应用 *32 标志.

In both cases, the resulting service Process in Task Manager does not have the *32 flag applied to it.

只有 32 位 InstallUtil 可以在 32 位机器上运行(显然).

Only the 32 bit InstallUtil works on 32 bit machines (obviously).

是否需要使用Framework64版本的InstallUtil?它有什么不同?

Is there a need to use the Framework64 version of InstallUtil? What does it do differently?

推荐答案

根据 ,您应该使用 64 位版本来安装 64 位和 MSIL 程序集,但它没有说明原因.

According to this, you are supposed to use the 64 bit version to install 64-bit and MSIL assemblies, but it doesn't say why.

从 .NET Framework 2.0 版开始,32 位版本的公共语言运行时 (CLR) 仅附带 32 位版本安装程序工具,但 64 位版本的 CLR 附带安装程序工具的 32 位和 64 位版本.当使用64位CLR,使用32位安装器工具安装32位程序集,以及用于安装 64 位和 64 位安装程序的工具Microsoft 中间语言 (MSIL) 程序集.两个版本安装程序工具的行为相同.

Starting with the .NET Framework version 2.0, the 32-bit version of the common language runtime (CLR) ships with only the 32-bit version of the Installer tool, but the 64-bit version of the CLR ships with both 32-bit and 64-bit versions of the Installer tool. When using the 64-bit CLR, use the 32-bit Installer tool to install 32-bit assemblies, and the 64-bit Installer tool to install 64-bit and Microsoft intermediate language (MSIL) assemblies. Both versions of the Installer tool behave the same.

我相信 此处 解释了原因.如果您查看帖子的底部,它会解释两者之间的一些差异以及何时使用 32 位 intallutil.

I believe here explains why. If you look at the bottom of the post, it explains some differences between the two and when to use the 32-bit intallutil.

Installutil.exe 是为特定平台构建的,因此它将作为 32 位或 64 位进程启动,相关的注册表配置单元将是更新.请注意,如果您有一个与平台一起构建的管理单元切换,您将只能在其中一个蜂巢中注册(32 位或 64 位).

Installutil.exe is built for a specific platform, therefore it will start as a 32 or 64-bit process and the related registry hive will be updated. Note that if you have a snap-in built with the platform switch, you will only be able to register it in one of the hives (32-bit or 64-bit).

这篇关于.net InstallUtil 实用程序 - 32 位与 64 位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆