我已经得到了编译为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位版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top