错误193:'%1在Windows Server 2003上不是有效的Win32应用程序

我想得到一些帮助,我试图启动一个Windows服务时,得到这个错误,这让我疯狂。 细节是:

  • 我有一个在VB.NET(VS 2012)上开发的Windows服务,它是为x86机器编译的。
  • 我使用InstallUtil和“SC CREATE”命令将服务安装在客户服务器上(在Windows Server 2003下运行)。
  • 当我尝试启动该服务时,出现以下错误消息:“无法在本地计算机上启动该服务。错误193:0xc1”
  • 我查看了事件查看器的一些线索,但找不到任何非常有用的信息:在“应用程序”选项卡中没有logging服务的logging,所以我认为它甚至没有运行一行代码。 在“系统”选项卡中,服务控制pipe理器logging了以下错误消息的logging:“%1不是有效的Win32应用程序”。

我在网上进行了长时间的研究,唯一提供的解决scheme是检查Windowsregistry以find该服务的ImagePath并在path的开始和结尾添加一些引号。 这应该是解决这个问题,但它不适用于我的情况。 我已经修改了好几次ImagePath(我添加和删除了引号,用双引号尝试过),但是我没有得到任何积极的结果。

有人可以帮我吗? 提前致谢…

我认为你使用的.net框架和windows server 2003有一个兼容性问题。你使用.net 4.5吗? Windows server 2003无法运行以net framework 4.5为目标的应用程序。

http://www.microsoft.com/visualstudio/eng/products/compatibility

所以你可以改变你的目标框架到4.0。

我的问题是由于我的服务项目配置为类库,而不是在项目属性的应用程序窗格中的Windows应用程序。

Visual Studio 2015项目属性窗口