There are two different desktop folders involved, the public one and the user specific one. If the "Create for all users" property of the "Add a desktop link" action is selected, the action will try to create the link in the public folder, but that usually requires admin privileges. If you don't have admin privileges, you could check if such a file already exists in the public folder. The condition expression of the action could be set to something like:
if (!Util.hasFullAdminRights()) {
File publicLink = new File(WinFileSystem.getSpecialFolder(
SpecialFolder.DESKTOP, true), "launcher name.lnk");
return !publicLink.exists();
} else {
return true;
}