达网络InstallUtil效用 - 32位和64位
-
22-07-2019 - |
题
我已经得到了编译为AnyCPU Windows服务。我试图让它进入我们的安装程序分发。不过......我对InstallUtil的32位和64位版本之间的差异还不清楚。有谁知道什么(如果有的话)有?
在我的64位机,我可以运行的$(WINDIR)\ Microsoft.NET \ Framework64 \ V2.0.50727或$(WINDIR)\ Microsoft.NET \框架\ V2.0.50727。
在这两种情况下,在任务管理器将得到的服务进程不具有施加到其上的* 32标志。
只有32位InstallUtil工作在32台机器(明显)。
是否有必要使用InstallUtil的\ Framework64 \版本?它是做什么不同?
解决方案
根据此,则应该使用64位版本安装64位和MSIL组件,但它并没有说为什么。
与.NET Framework 2.0版,的32位版本的开始 公共语言运行库(CLR)附带只有32位版本 安装程序的工具,但CLR船与64位版本的 安装程序工具的32位和64位版本。当使用 64位CLR,使用32位的安装工具来安装32位 组件,以及安装64位的64位的安装程序工具和 微软中间语言(MSIL)组件。的两个版本 安装程序工具具有相同的行为。
我相信这里解释了原因。如果你看后下方,这说明了两个时之间的一些差异,使用32位intallutil。
Installutil.exe,是为一个特定的平台,因此它会 开始为32或64位的过程和相关的注册表配置单元将 更新。请注意,如果你有一个管理单元内置与平台 开关,你只能将其注册在蜂箱之一 (32位或64位)。
其他提示
予跨越此跑为好。这个问题是我的VS2008的项目设置为平台目标:任何CPU。无论哪个InstallUtil.exe(32或64)我跑它被安装为64位的64位操作系统上。
我改变了我的项目设定目标86,然后跑了32位installutil.exe,一切工作正常。它现在显示在任务管理器* 32标志。
如果你正在安装一个64位的唯一的组件,所述32位InstallUtil将不能够加载它。你需要使用64位版本。