anchor.diff:  implementation
   
   uses
  -  ErrorControlledRegistry, RegistryKeys, shellapi, SysUtils, keymanerrorcodes, Variants, GetOsVersion,
  -  utilkeymanoption,
  +  System.SysUtils,
  +  System.Variants,
  +
  +  ErrorControlledRegistry,
  +  RegistryKeys,
  +  keymanerrorcodes,
  +  GetOsVersion,
  +  KeymanOptionNames,
     keymanpaths,
  -  utilexecute, keyman_implementation;
  +  utilexecute,
  +  keyman_implementation;
   
   { TKeymanController }
   
  
positive.code:   if hwnd = 0 then
      hwnd := GetDesktopWindow;
  
    if not TUtilExecute.Shell(hwnd, path, ExtractFileDir(path), '-kmc '+code) then  // I3349
      (FKeyman as TKeyman).Errors.AddFmt(KMN_E_KeymanControl_CannotStartProduct, VarArrayOf([path + ' (error='+IntToStr(GetLastError)+','+SysErrorMessage(GetLastError)+')', 'Keyman']), kesFatal);
  end;
  
  
negative.code: 
  procedure TKeymanController.ControlKeyman(const code: string);
  var
    verb, path: string;
    hwnd: THandle;
  begin
    path := TKeymanPaths.KeymanEngineInstallPath(TKeymanPaths.S_KeymanExe);
  