无法安装Windows服务

Mat*_*ton 72 c# windows-services installutil .net-4.0

我使用visual studio 2010和.N ET 4.0创建了一个非常简单的窗口服务.

除了添加了安装程序之外,此服务没有从默认的Windows服务项目添加任何功能.

如果我在我的开发箱或我们域中的其他Windows 2008 R2计算机上运行"installutil.exe appName.exe",则Windows服务安装没有问题.

当我尝试在我们的客户站点上执行相同的操作时,它无法安装,并出现以下错误.

Microsoft (R) .NET Framework Installation utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Exception occurred while initializing the installation:
System.IO.FileLoadException: Could not load file or assembly 'file:///C:\TestService\WindowsService1.exe' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515).
Run Code Online (Sandbox Code Playgroud)

此解决方案只有一个项目,并且没有添加依赖项.

我在我们环境中的多台机器上尝试过,在客户中尝试过两台.这些机器都是windows 2008 R2,都是全新安装.一台机器只有.net 2.0和.net 4.0.另一个.net 2,3,3.5和4.

我是每台机器上的本地管理员.

我也尝试了64位安装程序,但得到以下错误,所以我认为32位的是一个使用的. System.BadImageFormatException

任何指导将不胜感激.谢谢.

dou*_*lix 273

此错误的另一个原因可能是您从Windows认为不可信的源复制了您的程序.右键单击并在文件上选择属性后,可以通过单击"取消阻止"来取消阻止程序集.

  • 另一个有用的建议:如果在解压缩之前取消阻止zip文件,则会自动解除阻止所有提取的文件.可以为您节省大量的解锁工作:) (21认同)
  • 这对我有用,并且比"尝试安装项目"答案更直接地回答了这个问题.两者都有效,但这更有可能是原始问题的答案. (12认同)
  • 如果它不会解除阻止并且它位于您的/ Program Files文件夹中,则将.exe移动到您的文档文件夹,在那里取消阻止,然后将其移回.Windows资源管理器不会提升/ Program Files文件夹中的解除阻止请求. (10认同)
  • 谢谢!我怀疑我是否会得出这个结论.我希望它报告的原因比"不支持操作"更好 (5认同)
  • 哎呀,这是最简单的解决方法!谢谢。 (2认同)

OzB*_*Bob 14

需要解锁文件.或至少那是固定我的.

在Powershell中执行'批量'取消阻止

get-childitem *.* | Unblock-File 
Run Code Online (Sandbox Code Playgroud)

或在DOS中:

FOR %a in (*.*) do (echo.>%a:Zone.Identifier)
Run Code Online (Sandbox Code Playgroud)


Bra*_*ard 9

这个问题来自我,因为我试图从网络位置安装服务.通过在使用installutil之前将service.exe复制到本地计算机,它修复了我的问题并成功安装了服务.

  • 基于问题http://stackoverflow.com/questions/8524423/could-not-load-file-or-assembly-hresult-0x80131515-when-adding-controller-to-m还可以设置运行时`loadFromRemoteSources`元素在machine.config中为true. (2认同)

小智 7

当我们从另一台计算机上复制可执行文件时,Windows会在其上标记一个标记以进 右键单击可执行文件并在属性中单击取消阻止.它将清除标志和服务可执行文件将安装.


Ste*_* P. -3

您可以尝试为您的服务创建一个安装项目并在该服务器上运行 MSI 文件。

  • 这更多的是一种解决方法,而不是问题的真正解决方案 (12认同)
  • 请参阅下面的投票答案,该答案确实应该标记为解决方案 (10认同)
  • @cja它确实可以在VS 2013中工作,你必须从这里安装它https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d (2认同)
  • @Andy - 救生建议就在那里,并提醒您继续滚动 SO 帖子:) (2认同)