anchor.diff:  /// and set the GUID to "*", which will make WiX produce consistent Component Guids if the Component's target path doesn't change.
   /// This is vital for major upgrades, since windows installer needs a consistent component guid for tracking each of them.
   /// You can use the getComponentIdsFromWiXString function for getting all created component refs and adding them to features.
  -let bulkComponentCreation fileFilter directoryInfo = 
  +let bulkComponentCreation fileFilter directoryInfo architecture = 
       directoryInfo
           |> filesInDir
           |> Seq.filter fileFilter
  
positive.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 }
                          else
                              c
                          )                                          
  
negative.code:                             Id = getFileId (directoryName + directoryInfo.Name + file.Name)
                              Name = file.Name
                              Source = file.FullName
                              ProcessorArchitecture = architecture
                          })
          |> Seq.map(fun file->
                          C{
                              Id = "c" + file.Id.Substring(1)
                              Guid = "*"
                              Win64 = IsWin64 architecture
                              Files = [file]
                              ServiceControls = []
                              ServiceInstalls = []
  