我按照here步骤使我现有的WCF服务(已经作为控制台应用程序正常工作)也是Windows服务,在我的Windows 7机器上也是我的开发机器。
无论我尝试了什么,在使用installutil的最后一步时,我在命令行中收到以下消息:
初始化安装时发生异常:
System.BadImageFormatException:无法加载文件或程序集'file:/// [path here]'或其依赖项之一。
试图加载格式不正确的程序..
我的控制台应用程序主类继承自ServiceBase
并实现OnStart
和OnEnd
方法。
我添加了继承自ProjectInstaller
标记System.Configuration.Install.Installer
属性的[RunInstaller(true)]
类以及它们在构造函数中提供的代码。
上面的文章中没有提到我已经尝试过的内容?
此外,即使使用/LogFile=myLog.txt
指定日志文件,我也不会收到任何日志文件。
欢迎任何想法,谢谢。
答案 0 :(得分:6)
闻起来像是一个32/64位的问题。
你的机器是64位Windows 7吗?你的服务是否以某种方式引用32位的东西,比如旧的COM组件或什么东西?
您可能需要在Visual Studio中使用x86平台编译您的东西才能使其正常工作......
答案 1 :(得分:3)
BadImageFormat异常通常发生在.NET框架的旧版本(没有4.0的机器上的4.0程序集)中加载程序集时。由于您在同一台机器上进行部署,我的猜测是您没有使用正确版本的installutil。
确保使用位于此处的installutil:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319