anchor.diff:          old ->
               %% no need to unpack, has been installed previously
               ?INFO(\"Release ~s is marked old, switching to it.~n\",[Version]),
  -            install_and_permafy(TargetNode, Version);
  +            install_and_permafy(TargetNode, RelName, Version);
           unpacked ->
               ?INFO(\"Release ~s is already unpacked, now installing.~n\",[Version]),
  -            install_and_permafy(TargetNode, Version);
  +            install_and_permafy(TargetNode, RelName, Version);
           current -> %% installed and in-use, just needs to be permanent
               ?INFO(\"Release ~s is already installed and current. Making permanent.~n\",[Version]),
  -            permafy(TargetNode, Version);
  +            permafy(TargetNode, RelName, Version);
           permanent ->
               ?INFO(\"Release ~s is already installed, and set permanent.~n\",[Version])
       end;
  
positive.code: parse_version(V) when is_list(V) ->
      hd(string:tokens(V,\"/\")).
  
  install_and_permafy(TargetNode, Vsn) ->
      case rpc:call(TargetNode, release_handler, check_install_release, [Vsn], ?TIMEOUT) of
          {ok, _OtherVsn, _Desc} ->
              ok;
  
negative.code:                           [ReleasePackage], ?TIMEOUT) of
                  {ok, Vsn} ->
                      ?INFO(\"Unpacked successfully: ~p~n\", [Vsn]),
                      install_and_permafy(TargetNode, RelName, Vsn);
                  {error, UnpackReason} ->
                      print_existing_versions(TargetNode),
                      ?INFO(\"Unpack failed: ~p~n\",[UnpackReason]),
  