0

我正在安装多个 .net Windows 服务。所有服务都将所有依赖项安装在适当的文件夹中。但是,只有第一个会运行。其他服务给出错误 1053:服务没有及时开始响应或控制请求。

想法?

编辑:这不需要 30 秒。它发生在大约 1 秒内。

编辑:

 <ComponentGroup Id="IngestServiceComponents" Directory="IngestINSTALLFOLDER">
  <Component Id="IngestService" Guid="5a95ee28-c9da-46b9-8396-cef98fa8fcbb">
    <File Id="IssueIngestService.exe" Name="IngestService.exe" Source="..\IngestService\bin\Release\IngestService.exe" Vital="yes" KeyPath="yes" DiskId="1"/>
    <File Id="IngestService.exe.config" Name="IngestService.exe.config" Source="..\IngestService\bin\Release\IngestService.exe.config" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="Libraries2_1" Name="Libraries2.dll" Source="..\IngestService\bin\Release\Libraries2.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="DLibraries2_1" Name="DLibraries2.dll" Source="..\IngestService\bin\Release\DLibraries2.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="ICSharpCode.SharpZipLib_1" Name="ICSharpCode.SharpZipLib.dll" Source="..\..\Assemblies\ICSharpCode.SharpZipLib.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="ChilkatDotNet45_1" Name="ChilkatDotNet45.dll" Source="..\..\Assemblies\ChilkatDotNet45.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="MediaInfo_1" Name="MediaInfo.dll" Source="..\..\Assemblies\MediaInfo.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="XmpToolkit_1" Name="XmpToolkit.dll" Source="..\..\Assemblies\XmpToolkit.dll" Vital="yes" KeyPath="no" DiskId="1"/>
    <File Id="ffmpeg.exe_1" Name="ffmpeg.exe" Source="..\..\Assemblies\ffmpeg.exe" Vital="yes" KeyPath="no" DiskId="1"/>
    <ServiceInstall
                Id="IngestServiceInstaller"
                Type="ownProcess"
                Vital="yes"
                Name="IngestService"
                DisplayName="Ingest"
                Description="Ingest Service"
                Start="auto"
      Account="user"
      Password="password"
                ErrorControl="ignore"
                Interactive="no">
    </ServiceInstall>
    <ServiceControl Id="IngestStartService" Stop="both" Remove="uninstall" Name="IngestService" Wait="no" />
  </Component>
</ComponentGroup>
4

3 回答 3

0

鉴于上面的示例,我不得不猜测您的安装服务出现了问题。您拥有ServiceControl/@Wait='no'这意味着这 4 个服务几乎可以同时启动。是否有可能它们相互碰撞并且只有一个在启动时幸存下来?

您可以考虑使用ServiceControl/@Wait='yes'或以其他方式调试服务。当错误对话框出现时,您应该能够看到并启动服务(通过services.mscsc.exe从命令行)。保留错误对话框并进行调试以查看可能出现的问题。

您的设置代码没有任何明显错误。

PS:将这么多文件,尤其是其他可执行文件放在一个文件中Component并不是最佳做法。请参阅组件规则了解原因。

于 2013-04-17T14:11:56.697 回答
0

所以问题是像往常一样的用户错误。第一个服务是 .net Framework 4.0。所有新的都是4.5。未安装框架 4.5。

于 2013-04-17T14:53:58.277 回答
0

看看我这里的回答。我在同一个问题上苦苦挣扎了好几个小时 https://stackoverflow.com/a/35510262/2903863

于 2016-02-22T11:14:58.617 回答