anchor.diff:  begin
     Result := True;
   
  +  DoOutputDebugString('InstallMSI');
  +  DoOutputDebugString('  NewVersion.Version=<'+FNewVersion.Version+'>');
  +  DoOutputDebugString('  InstallInfo.Version=<'+FInstallInfo.Version+'>');
     { We need to check if the included installer or the patch available is a newer version than the currently installed version }
     if FNewVersion.Version <> '' then
     begin
  +    DoOutputDebugString('NewVersion.Version <> ''''');
       if IsNewerVersionInstalled(FNewVersion.Version) then
  +    begin
  +      DoOutputDebugString('  IsNewerVersionInstalled=True');
  +      Exit;
         { The patch is older than the installed version }
  -      Exit;
  +    end;
   
       if not InstallNewVersion then
       begin
  
positive.code: 
  function TfrmRun.IsNewerVersionInstalled(const NewVersion: WideString): Boolean;
  begin
    Result := (FInstalledVersion.Version <> '') and (NewVersion <= FInstalledVersion.Version);
  end;
  
  function TfrmRun.CheckDependencies: Boolean;
  
negative.code:     end;
    end;
  
    DoOutputDebugString('Testing IsNewerVersionInstalled('''+FInstallInfo.Version+''')');
    if not IsNewerVersionInstalled(FInstallInfo.Version) then
    begin
      DoOutputDebugString('not IsNewerVersionInstalled');
      ReinstallMode := 'REBOOTPROMPT=S REBOOT=ReallySuppress'; // I2754 - Auto update is too silent  // I3355   // I3500
      if (FInstalledVersion.Version <> '') and (FInstalledVersion.ProductCode = FInstallerVersion.ProductCode)
        then ReinstallMode := ReinstallMode + ' REINSTALLMODE=vdmus REINSTALL=ALL';  // I3355   // I3500   // I4858
  