把exe程序安装成windows服务失败,报错 System.BadImageFormatException 该模块应包含一个程序集清单
cmd管理员执行 C:\Windows\Microsoft.NET\Frameworks(或64)\对应版本的InstallUtil.exe "要安装的服务exe路径"
报错截图如下
因为是第三方的exe,不知道是什么版本的,但是不管平台是x86还是x64,还有Frameworks版本v2 v4都试过了,都报这个错。版本应该是没问题的,我电脑只装了这两个,用第三方的安装器都能正常安装服务,但是我想手动去安装就不得行。
我想可能是少什么文件,但是安装器安装时并没有任何文件增减的变动。
这个报错也没提示少什么文件,现在真不知道怎么办了,能试的都试过了。
问题解决了,使用nssm安装,再在注册表修改可执行文件的路径就行了
一种可能的解决办法是:
检查exe程序是否为.NET Framework编写,如果不是则无法通过InstallUtil.exe安装为服务。
检查exe程序是否包含程序集清单。可以使用ILSpy工具查看程序内部结构,确认是否有程序集清单。
如果exe程序是.NET Framework编写的,但没有程序集清单,则可以使用.NET Reflector工具将其转换为.NET程序集。
如果以上方法均无效,则可以尝试通过其他方法安装服务,例如使用sc.exe命令或自定义安装程序。