anchor.diff:      case FInstanceManage.Status of
         isSecond:
           begin
  -          GetCurrentDirectoryW(SizeOf(sourceDir), sourceDir);
  -          workDir := string(sourceDir);
  +          workDir := GetCurrentDirUTF8;
             if LowerCase(ExtractFileDir(ParamStrUTF8(0))) = LowerCase(workDir) then
               workDir := '';
             cli := '';
             for i := 1 to ParamCount do
             begin
  +            parameter := ParamStrUTF8(i);
               // flags (-) won't be processed since instance is already running
               if workDir <> '' then
               begin
  -              if Pos(':', ParamStrUTF8(i)) = 2 then
  -                cli := cli + ParamStrUTF8(i) + ParamsSeparator
  +              if Pos(':', parameter) = 2 then
  +                cli := cli + parameter + ParamsSeparator
                 else
  -                cli := cli + workDir + '\' + ParamStrUTF8(i) + ParamsSeparator;
  +                cli := cli + workDir + '\' + parameter + ParamsSeparator;
               end
               else
  -              cli := cli + ParamStrUTF8(i) + ParamsSeparator;
  +              cli := cli + parameter + ParamsSeparator;
             end;
             FInstanceManage.ActivateFirstInstance(BytesOf(cli));
             Sleep(100);
  
positive.code: var
    i: Integer;
    cli: String;
    sourceDir: Array[0..MAX_PATH] of WideChar;
    workDir: String;
  begin
  
    Result := False;
  
negative.code:   proc_globdata,
    proc_msg,
    at__jsonconf,
    LazFileUtils,
    {$endif}
    SysUtils,
    LCLIntf;
  