我遵循了步骤 这里 为了使我现有的WCF服务(作为控制台应用程序已经正常运行)也是Windows Service,这也是我的开发机器的Windows 7机器。

无论我尝试过什么,在使用installutil的最后一步时,我都会在命令行中获取以下消息:

初始化安装时发生了例外:
system.badimageFormateXception:无法加载文件或汇编'文件:/// [此处的路径]或其依赖项之一。
试图使用不正确的格式加载程序。

我有我的控制台应用程序主类继承 ServiceBase 并实施 OnStartOnEnd 方法。

我已经添加了 ProjectInstaller 班级继承 System.Configuration.Install.Installer 标记 [RunInstaller(true)] 属性以及它们在构造函数中提供的代码。

我已经尝试的是上面文章中未提及的内容?

  1. 作为管理员运行命令行
  2. 导航到EXE文件所在的目录并从那里运行installutil
  3. 给EXE文件和所有DLL提供强大的密钥

另外,即使在指定使用时,我也不会获得任何日志文件 /LogFile=myLog.txt.

欢迎任何想法,谢谢。

有帮助吗?

解决方案

闻起来像是32-/64位的问题。

您的机器64位Windows 7是否有机会?您的服务是否以某种方式引用了32位的内容,例如旧的COM组件或其他东西?

您可能需要在Visual Studio中使用X86平台编译您的内容,以使其正常工作...

其他提示

BadImageFormat异常通常会在装配中加载到.NET框架的较旧版本中(在没有4.0的机器上汇编的4.0组件)。由于您正在部署在同一台计算机上,因此我的猜测是您不使用正确的installutil版本。

确保您在此处使用的installutil: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

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