anchor.diff:          "@Product.MajorUpgrade@", parameters.MajorUpgrade
           "@Product.Directories@", parameters.Directories
           "@Product.Components@", ""
  +        "@Product.Platform@", parameters.Platform.ToString()
           "@Product.Features@", parameters.Features
           "@Product.CustomActions@", parameters.CustomActions
           "@Product.ActionSequences@", parameters.ActionSequences
  
positive.code:                             Id = getFileId (directoryName + directoryInfo.Name + file.Name)
                              Name = file.Name
                              Source = file.FullName
                          })
          |> Seq.map(fun file->
                          C{
                              Id = "c" + file.Id.Substring(1)
                              Guid = "*"
                              Files = [file]
                              ServiceControls = []
                              ServiceInstalls = []
  
negative.code: let rec attachServiceInstallToComponent (comp : WiXDirectoryComponent) fileFilter serviceInstalls = 
      match comp with
      | C c -> C (if fileFilter c then                        
                          { Id = c.Id; Guid = c.Guid; Files = c.Files; ServiceControls = c.ServiceControls; ServiceInstalls = Seq.append c.ServiceInstalls serviceInstalls; Win64 = c.Win64 }
                          else
                              c
                          )                                          
  