我有WCF服务要安装在windows上。
现在我想把它安装在运行windows的服务器上,并且已经安装了v3.5 .net框架。
离题的是,服务是在框架4中编写的,因此它将不会运行。
我的问题是,我可以使用框架3.5中的"installutil“来安装服务吗?为什么?
=== UPDATED===
我有windows服务,这是运行wcf里面。
发布于 2012-04-24 17:30:17
您可以使用InstallUtil安装Windows服务。如果你遵循下面的MSDN文章How to: Host a WCF Service in a Managed Windows Service,你的WCF服务可能已经在Windows服务中开发出来了。
但是,如果(Windows4)服务是用Windows4编写的,而您试图从.NET 3.5运行安装程序,您将得到以下错误:
初始化安装时发生
异常: System.BadImageFormatException:无法加载文件或程序集的file:///C:\MyService.exe‘或其依赖项之一。此程序集是由比当前加载的运行库更新的运行库生成的,无法加载。
要安装Windows4(Windows4)服务,您需要使用安装了.NET 4的.NET 4安装程序,该程序将在: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe中提供。
发布于 2012-04-24 16:59:33
installutil用于安装windows服务而不是wcf服务。
发布于 2012-04-24 17:13:13
如果您可以控制构建服务,只需将其更改为针对.NET 3.5框架,您就应该能够安装它。
否则,如果服务是针对.NET Framework4.0构建的,而服务器只安装了.NET 3.5,我认为它不会运行,除非您在配置文件中显式覆盖它以在.NET 3.5下运行(我不推荐这样做)。
另外,我总是建议人们使用WiX Toolset来编写windows服务的安装程序,而不是使用InstallUtil,因为InstallUtil是一个自定义的,非标准的Visual Studio工具来安装Windows服务,而windows Installer (微星),Windows安装的认可标准,有内置的支持来安装经过试验和测试的Windows服务,并给你更多的控制,例如停止和启动服务等。
https://stackoverflow.com/questions/10294763
复制相似问题