未在主要升级WIX上安装Windows服务

未在主要升级WIX上安装Windows服务,wix,wix3.5,Wix,Wix3.5,我通过msi软件包(WIX)在机器上安装了我的服务。但当主要升级完成时,服务会被卸载,但不会被安装 这是我的代码: <Component Id="abc" Guid="{E64A8CDD-816F-4544-9ACD-A2E367F7758A}"> <File Id="EventTraceService.exe" Source="..\..\..\..\Products\abc.exe" Vital="yes" KeyPath ="yes"/&g

我通过msi软件包(WIX)在机器上安装了我的服务。但当主要升级完成时,服务会被卸载,但不会被安装

这是我的代码:

 <Component Id="abc" Guid="{E64A8CDD-816F-4544-9ACD-A2E367F7758A}">
              <File Id="EventTraceService.exe" Source="..\..\..\..\Products\abc.exe"  Vital="yes" KeyPath ="yes"/>
              <File Source="..\..\..\..\Products\abc.exe.config" Vital="yes" />
              <ServiceInstall
              Id="ServiceInstaller"
              Type="ownProcess"
              Vital="yes" 
              Name="abc"
              DisplayName="abc"
              Description="Monitoring and management of Trace"
              Start="auto"
              Account="LocalSystem"
              Interactive="yes"
              ErrorControl="normal"
                  />
<ServiceControl Id="StartService" Start="install" Stop="uninstall" Remove="uninstall" Name="abc" Wait="yes" />


提前谢谢

一种可能的解释是您更改了组件的GUID。因此,相同资源的(不同版本)由不同的组件管理

从windows installer文档中,可以看到关于:

作者将同一资源包含在两个不同的组件中。

如果两个组件具有相同名称和位置的资源,并且两个组件都安装在同一文件夹中,则删除任一组件都会删除公共资源,这会损坏其余组件

  • 卸载其中一个组件将删除资源并断开另一个组件
  • 组件参考计数机构损坏

这似乎与您的症状相符。

一种可能的解释是您更改了组件的GUID。因此,相同资源的(不同版本)由不同的组件管理

从windows installer文档中,可以看到关于:

作者将同一资源包含在两个不同的组件中。

如果两个组件具有相同名称和位置的资源,并且两个组件都安装在同一文件夹中,则删除任一组件都会删除公共资源,这会损坏其余组件

  • 卸载其中一个组件将删除资源并断开另一个组件
  • 组件参考计数机构损坏

这似乎与您的症状相符。

如果服务EXE在两个包中具有相同的版本,则会发生这种情况,原因是。下面是一篇更详细的文章:

如果服务EXE在两个包中的版本相同,则会发生这种情况,原因是。下面是一篇更详细的文章:

它是给出了错误还是没有安装?它是给出了错误还是没有安装?