I'm using ccleaner on windows 10. One computer is the latest public version. The other is running the latest insider version. In both cases, the setting to skip the UAC warning is not working. This started quite a long time ago. I've tried deinstalling ccleaner and even going through the registry to delete any leftover keys that the ccleaner uninstaller leaves behind. (It's somewhat ironic and disappointing that ccleaner doesn't clean up after itself.) After uninstalling and reinstalling ccleaner, the problem is still there. It's annoying to receive this warning and it's even more annoying that other users of the computer are complaining to me about it.
I searched for this problem in this forum and noted a few posts about it, but I did not see any solutions. Is there a proven way to get around this problem? Is it going to be fixed?
I tried that previously and tried it again just now. It's strange. After I made the change, I logged out and back in. There was no warning. I went to another user account and made the same change, then logged out and back in. The warning still happened. I returned to the first account where I made the change and the warning still happened, so this doesn't seem to be a reliable fix.
Also, changing the task from windows 10 to windows 7 does not prevent the task from sending $(Arg0), at least according to the actions tab. It sends the argument whether the task is configured for windows 10 or windows 7. If the behaviour has changed in windows 10, ccleaner should be modified to support windows 10 as it currently operates. I like ccleaner, but this warning is really annoying.
I just tried another test. I edited the task to remove $(Arg0). (It was set to windows 10.) Then I logged out and back in again. Now, ccleaner automatically starts in the normal mode, as if you manually opened it and there was no UAC warning. This seems to be a bug in ccleaner.
Not a piriform issue. I have to change the task to be windows 7 for all of my ARG0 tasks (at least three) ARG0 is depreciated in windows 10 tasks.
Exactly what did you do, because when I changed the task to windows 7, it made no difference, at least not consistently. If the problem is that $(Arg0) has been deprecated, it's not surprising that windows 7 mode doesn't work either, because it also uses $(Arg0). If I removed $(Arg0), ccleaner didn't start up in the background but at least it did not generate a UAC error. Clearly it's possible to start a task in the background without a UAC error.
With regards to whether or not this is a piriform issue, with all due respect, if Windows 10 no longer supports $(Arg0), then the approach being taken by piriform is broken. It's a bug. No other tasks have this problem. Unless Piriform has inside knowledge that Microsoft is going to restore $(Arg0) the way it was, for ccleaner to set up a task in "windows 10" mode passing $(Arg0) is broken and will never work and therefore piriform's "windows 10" mode needs to be fixed. Dropbox and google pass arguments to tasks, just not using $(Arg0). No other tasks have this problem. How is this NOT piriform's problem?
You state you uninstalled, and reinstalled CCleaner. However did you reboot after uninstalling? Sometimes that can heal an issue.
As for it being a bug in CCleaner I don't know, it could be something to do with your system. I personally haven't had that issue in Win10.
I did reboot after uninstalling, then reinstalled. It didn't fix the problem, so I went to the extra step of uninstalling, searching the registry and removing all ccleaner keys, then rebooting, then reinstalling. It made no difference. I have two computers running windows 10 and both have this problem, as of today, both are running the latest "creators" update.
I don't see how it's not a bug. ccleaner is trying to use $(Arg0) for windows 10 and windows 10 no longer supports it. piriform needs to make a new method of passing arguments not using $(Arg0) like every other app.
Updating this thread. My computer is on the latest insider release, post creators update, build 16184 and ccleaner skip uac is still not working. It's probably reasonable to think that if Microsoft has not restored the $(Arg0) function by now, they have no intention of doing so. In that case, it's time for Piriform to fix this annoying bug.
Updating this thread. My computer is on the latest insider release, post creators update, build 16184 and ccleaner skip uac is still not working. It's probably reasonable to think that if Microsoft has not restored the $(Arg0) function by now, they have no intention of doing so. In that case, it's time for Piriform to fix this annoying bug.
how do you propose they fix this. If the only way to skip uac is arg0. Again my windows 10 works, on multiple softwares, the way I describe in the sticky
how do you propose they fix this. If the only way to skip uac is arg0. Again my windows 10 works, on multiple softwares, the way I describe in the sticky
First, I'm not the developer. However, I used to be a software developer. If Piriform wants to develop software for windows 10, they need to use available mechanisms. If arg0 is no longer supported, unless microsoft changes their mind, piriform continuing to use it won't make it work. Ccleaner isn't going to wear down windows 10. Doing the same thing over and over expecting a different result is the definition of insanity. Like it or not, Microsoft sets the rules. Not supporting arg0 is not a windows 10 bug. It's a feature. The fact that ccleaner is trying to use a feature that's no longer supported makes this a ccleaner bug.
Second, I'm not the only person for which the supposed fix doesn't work. As you sure you haven't simply disabled UAC for all applications so it appears to work? I have several different computers running windows 10. It happens on all of them.
Third, it makes no sense that using the windows 7 format should work, because it also uses arg0. If windows 10 doesn't support arg0, there is no reason for the windows 7 format to work.
Fourth, as I said, other applications start up upon login and don't generate any UAC warning. None of them use arg0. The tasks for other applications pass parameters in other formats, such as /c, /ua /installsource scheduler and sync. Pifiform needs to use a supported mechanism to pass the parameter, like other applications.
Fifth, if I remove the arg0 parameter from the windows 10 task for ccleaner, it starts without generating a uac warning. It just doesn't start in the right mode. Presumably, if the parameter is passed using a supported mechanism, ccleaner will start in the correct mode without generating a UAC warning.
This has not always been a problem. As far as I can remember, it started with the anniversary update. I have 6 windows 10 computers, running various versions of windows 10 and it effects all users on all of the computers.
The association of this issue with $arg0 came from this website. I'm not in a position to prove or disprove it. However, as I pointed out, if $arg0 really is the problem, changing the task type to windows 7 should not fix the problem, which is why I question that it does fix the problem.
There is nothing unique or special about my computers. I've tried completely deinstalling ccleaner including manually deleting any associated keys from the registry and the problem will not stay away.
As I said, if $arg0 has gone away, piriform needs to use another method for passing arguments at login. When I removed $arg0 from the task, there was no uac error, so perhaps the uac error is what windows 10 generates if it's passed arguments using $arg0. Maybe it's an incorrectly coded error notification from windows. Who knows?
Since Vista introduced UAC, it's been a PITA and one of the first Windows customisations I do is to turn it off.
Just out of curiosity, any reason why you don't turn off UAC to avoid this whole situation.
I don't disagree that UAC hasn't been one of Microsoft's finer moments, but it serves a purpose and disabling it completely defeats that purpose. Users should not have to disable a security feature because of a bug in Piriform's software. Piriform, if you're listening, fix the d*amn bug!
This is a strange one. I have the $(Arg0) in my task and it's set as a windows 10 task, and yet, it works as intended.
Perhaps the $(Arg0) isn't set up correctly in the task ?. This is a total long shot guess, but just check it in task scheduler, and by check I mean go to the task right click & select properties, then go to the actions tab, it will have the line it's executing, but don't trust that (there are two ways to get the same line appearing exactly the same in this window). Select the line and click on edit, you will get a box, with details in it. The $(Arg0) should be in the "additional arguments (optional)" box, not the top "program/script" box. It should not have quotes around it, and should appear the same as I put it above. (Perhaps the capitalization is wrong and matters, I don't think it should but maybe it does here ?), but if it's in the wrong box it will make a difference.
Anyway it's a long shot but maybe ? - reading your comments above, just so you know, $(Arg0) isn't an argument itself, it is meant to be a code which will pass arguments sent to it through to the command line, if and only if they are provided in the first place, if there are none then it should equate to "" (nothing or an empty string). It's also unclear if windows 10 is meant to support this or not, reading this thread people are saying it doesn't work for them and changing the task to a windows 7 task fixes it (by causing the task to be treated in a kind of windows 7 compatibility mode) - so they assume windows 10 doesn't support this any more - I could be wrong here, there may be evidence that Microsoft have said this isn't supported anymore, but unless there is such evidence, and others who don't have this problem exist (like me) I would tend to think this is a bug in windows, and hence I can't really blame Piriform for not fixing something that they possibly can't reproduce.
Among the computers I'm running windows 10 and ccleaner on, some are updated post anniversary / pre creators, one is post creators and one is an insider fast ring (post creators). ccleaner has a uac warning on all of them. I've tried deinstalling ccleaner and even searching through the registry to remove any left-over keys after deinstalling it, then reinstalling it. It makes no difference. Every time I login, I get the warning.
I deinstalled ccleaner and reinstalled it, enabled the setting to skip the uac warning, then logged out and back. There was no warning. I hope it stays working. If so, for some reason, it seems necessary to deinstall and reinstall the software for the setting to skip the uac warning to work.