Windows服务无法在其他平台上安装

时间:2014-05-29 06:04:06

标签: c# .net windows-services platform

我创建了一个简单的Windows服务,该项目的平台是任何CPU ,我使用 installutil.exe 命令安装了我的服务。然后我卸载了该服务并将平台设置为 X64 。但在此之后,我无法安装该服务。我收到以下错误

  

初始化安装时发生异常:System.BadImageFormatException:无法加载文件或程序集 - 或者   其中一个依赖项。尝试加载带有的程序   格式不正确。

我想将平台更改为 X64 以使用某些dll。请帮帮我。

2 个答案:

答案 0 :(得分:0)

您必须选择x86平台,dll以混合模式运行并且将与您的服务一起使用

答案 1 :(得分:0)

InstallUtill.exe是平台特定的

检查一下: https://stackoverflow.com/a/2160932/891715

此外,这将为您提供正确版本的正确路径:

 string InstallUtilPath = Path.Combine(
     System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(),
     "installutil.exe");

还有一点警告:如果您正在使用安装项目安装服务,请特别小心。它将installutil嵌入到自身中(通常它不是正确的版本......)。