wixwix5

Wix Toolset v4 (5.0.0) - attempting to override a standard action fails if previously referenced


I am attempting to override the StartServices standard action. This works (compiles) successfully in isolation. However, if a reference action is added the compile fails. Below is a sample project that will display the issue. (This is a project that was built in WiX v3 and migrated to WiX v4. The sequences for the actions worked in v3)

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">

  <Package Name="WixTest"
           Version="1.0.0"
           Manufacturer="Any Company"
           UpgradeCode="{75393798-99D0-4342-BA82-D7CDE7DAA27F}">

    <Feature Id="Feature" ConfigurableDirectory="INSTALLDIR" />

    <!-- If the ScheduleReboot action is commented out the compile will succeed 
           if uncommented, the compile will fail with:
           
           Error    WIX7009 The action 'StartServices' conflicts with a virtual symbol with the same id. To override the virtual symbol (e.g., to reschedule a custom action), use the 'override' access modifier: 'override StartServices'. If you didn't intend to override a virtual symbol, use a different id to avoid the conflict.   wixtest D:\save\wixtest\Product.wxs 21      
      -->
    <InstallExecuteSequence>
      <!-- <ScheduleReboot Before="StartServices" Condition="RESTART_REQUIRED=1" /> -->
      <StartServices Condition="RESTART_SERVICES=1" />
    </InstallExecuteSequence>

    <StandardDirectory Id="ProgramFilesFolder" >
      <Directory Id="INSTALLDIR" Name="installHere"/>
    </StandardDirectory>
  </Package>
</Wix>


Solution

  • bug in wix,see issue: https://github.com/wixtoolset/issues/issues/8115 will not be resolved at this time.