anchor.diff:    end;
   end;
   
  +procedure TRunTools.ApplyWow64SystemProfilePatch;
  +type
  +  TWow64DisableWow64FsRedirection = function(out cookie: PVOID): BOOL; stdcall;
  +  TWow64RevertWow64FsRedirection = function(cookie: PVOID): BOOL; stdcall;
  +var
  +  cookie: PVOID;
  +  hKernel32: THandle;
  +  Wow64DisableWow64FsRedirection: TWow64DisableWow64FsRedirection;
  +  Wow64RevertWow64FsRedirection: TWow64RevertWow64FsRedirection;
  +begin
  +  @Wow64DisableWow64FsRedirection := nil;
  +  @Wow64RevertWow64FsRedirection := nil;
  +
  +  hKernel32 := GetModuleHandle('kernel32.dll');
  +  if hKernel32 <> 0 then
  +  begin
  +    @Wow64DisableWow64FsRedirection := GetProcAddress(hKernel32, 'Wow64DisableWow64FsRedirection');
  +    @Wow64RevertWow64FsRedirection := GetProcAddress(hKernel32, 'Wow64RevertWow64FsRedirection');
  +  end;
  +
  +  if Assigned(Wow64DisableWow64FsRedirection) and Assigned(Wow64RevertWow64FsRedirection) then
  +  begin
  +    if Wow64DisableWow64FsRedirection(cookie) then
  +    begin
  +      try
  +        if not ForceDirectories(TKeymanPaths.ErrorLogPath) then
  +          LogError(Format('Could not create diag path: %d %s',
  +            [GetLastError, SysErrorMessage(GetLastError)]), False);
  +      finally
  +        if not Wow64RevertWow64FsRedirection(cookie) then
  +          LogError(Format('Wow64RevertWow64FsRedirection failed: %d %s',
  +            [GetLastError, SysErrorMessage(GetLastError)]), False);
  +      end;
  +    end
  +    else
  +      LogError(Format('Wow64DisableWow64FsRedirection failed: %d %s',
  +        [GetLastError, SysErrorMessage(GetLastError)]),False);
  +  end
  +  else
  +    LogError('Could not find Wow64 fs redirection functions', False);
  +end;
  +
   initialization
   finalization
     FreeAndNil(FRunTools);
  
positive.code:     procedure WaitFor(hProcess: THandle; var Waiting, Cancelled: Boolean);  // I3349
      procedure WriteToLog(const msg: string);
      procedure RunVersion11To13Upgrade(const KMShellPath: WideString);
    public
      destructor Destroy; override;
      procedure CheckInternetConnectedState;
  
negative.code:     { Log the install to the diag folder }
  
      FLogFileName := TKeymanPaths.ErrorLogPath(ChangeFileExt(ExtractFileName(msiLocation.Path), ''));  // I1610 // I2755 // I2792
  
      ApplyWow64SystemProfilePatch; // #6221
  
      MsiEnableLogW(INSTALLLOGMODE_VERBOSE, PWideChar(FLogFileName), 0);
  
  