Jump to content

CCleaner cannot delete tmp file in C:\ root folder


libanjon

Recommended Posts

I don't know if a program will dump temp files into the root directory or not if the Windows temp path variables are messed up, but I suppose anything is possible.

 

Sometimes if a temp folder is missing such as %userprofile%\local settings\temp that will make some programs non-functional if they use that folder and they won't load.

 

If I were to see random tmp files appearing in my root directory I'd do a malware scan first. Then I'd start launching all of my applications one at a time to see if they're created by a legitimate program.

 

 

Andavari, I took note on you being the moderator of this forum. Apparently, my CCleaner issue is a BUG! You can check Disk4mat's post: http://forum.piriform.com/index.php?showto...mp;#entry112027

 

By the way, I didn't notice any dedicated guidelines on how to report a bug. Is there a formal way to report a BUG?

Link to comment
Share on other sites

First let me apologize for being overly critical earlier.

 

You're right. By using the 'Include' your telling CC to remove all files with the tmp ext. on the root of the drive. I did some experimenting and I see the problem now.

 

If you enter the full file name, CC will find and remove it. But when using the wild card, it simply dosent work. This is strange because I have a dozen files and folders in the include list. All of them use a wild card. So apparently it is a bug.

 

 

Finally, someone actually walk the talk! Thanks Disk4mat for actually experimenting to see the real issue. A lot of us in this forum simply suggest things without really understanding the problem and trying the solutions we suggest.

 

Anyways, how do we report the BUG to the CC developer?

Link to comment
Share on other sites

Finally, someone actually walk the talk! Thanks Disk4mat for actually experimenting to see the real issue. A lot of us in this forum simply suggest things without really understanding the problem and trying the solutions we suggest.

 

Anyways, how do we report the BUG to the CC developer?

Hello again libanjon,

This thread serves as the Bug Report.

However I don't see a "bug" here.

I did all the testing and it works fine for me.

Remember, CCleaner is designed to safe.

I just used the Include option as listed here and everything works fine.

Just remember that once you get your list built then make a copy of (cc)leaner. ini file and keep it somewhere safe so you don't have to re-enter all those Include entries if somehow you lose your (cc)leaner.ini file from your CCleaner folder.

 

t1481_20080820001328.png

 

Hope you track down that program that keeps creating those files.

Good luck,

:) davey

Link to comment
Share on other sites

As Davey said "once you get your list built". The problem is that you are not permitted to use wildcards. So if the the file naming conventions chage, you'll have to keep updating that list. If the file names are even remotely random then your at a loss.

 

I did some more experimenting and came up with the following. CC simply will not allow wildcards to be used on any fixed disk. Not even another partition, not on an external hdd either.

 

 

But I think I know why. Its intentional. While XP and Vista dosent have as many critical files on the root of the drive, older Windows version do. The 9x platform relies on Autoexec, config etc. This is the reason why wildcards arent permitted. If you browse and select a single file, it stands to reason you know what file your selecting and there wont be any mishaps with numerous files getting deleted and preventing the OS from loading. What if someone unknowingly entered *exe* or *con

 

So I think it was done by the CC team again, as Davey indicated... To be safe. The question open for debate is, should wildcards be permitted on the root of a drive? Im undecided at the moment.

 

What about non-system partitions, flash and external hdd's? Absolutely. There are files I would like to clean on the root of my flash and ext hdd where wildcard use is almost essential.

Link to comment
Share on other sites

Hello again libanjon,

This thread serves as the Bug Report.

However I don't see a "bug" here.

I did all the testing and it works fine for me.

Remember, CCleaner is designed to safe.

I just used the Include option as listed here and everything works fine.

Just remember that once you get your list built then make a copy of (cc)leaner. ini file and keep it somewhere safe so you don't have to re-enter all those Include entries if somehow you lose your (cc)leaner.ini file from your CCleaner folder.

 

t1481_20080820001328.png

 

Hope you track down that program that keeps creating those files.

Good luck,

:) davey

 

Davey, the files i want to delete is randomly created so there is no way i will know the filename of the next tmp file to be created. Try to read Disk4mat's post and understand how he experimented. He included "*.tmp" in the include line inside the CCleaner.ini... the same way as i did. Try to UNDERSTAND the issue please before you reply. Perform a proper TESTING.... and for GOD's sake, it's a .tmp file i want to delete. Can u particularly pinpoint which program uses .tmp as a propietory file extention? There could be countless of programs which uses the .tmp file extention as a temporary file which is harmless to delete.

post-8641-1219212069_thumb.jpg

Link to comment
Share on other sites

As Davey said "once you get your list built". The problem is that you are not permitted to use wildcards. So if the the file naming conventions chage, you'll have to keep updating that list. If the file names are even remotely random then your at a loss.

 

I did some more experimenting and came up with the following. CC simply will not allow wildcards to be used on any fixed disk. Not even another partition, not on an external hdd either.

 

 

But I think I know why. Its intentional. While XP and Vista dosent have as many critical files on the root of the drive, older Windows version do. The 9x platform relies on Autoexec, config etc. This is the reason why wildcards arent permitted. If you browse and select a single file, it stands to reason you know what file your selecting and there wont be any mishaps with numerous files getting deleted and preventing the OS from loading. What if someone unknowingly entered *exe* or *con

 

So I think it was done by the CC team again, as Davey indicated... To be safe. The question open for debate is, should wildcards be permitted on the root of a drive? Im undecided at the moment.

 

What about non-system partitions, flash and external hdd's? Absolutely. There are files I would like to clean on the root of my flash and ext hdd where wildcard use is almost essential.

 

I beg to disagree with u Disk4mat. I still think it's a BUG. To refute your argument, this is how i tested.

1. Create a file inside C:\WINDOWS folder. (in my case, i created CCleaner.k99)

2. include "*.k99" in the CCleaner.ini (Include2=PATH|C:\windows\|*.k99)

3. Check the includes screen to confirm the configuration

4. Run CCleaner.

 

The result of my test is attached. The CCleaner.k99 file inside C:\WINDOWS folder is deleted! WILDCARD is accepted by CCleaner.

 

What happens if i include "*.dll" in the CCleaner.ini? It's equally dangerous as adding "*.dll" in the ROOT of a drive, right?

post-8641-1219213594_thumb.jpg

post-8641-1219213611_thumb.jpg

Link to comment
Share on other sites

You could use FileMon for Windows v7.04:

http://technet.microsoft.com/en-us/sysinte...s/bb896642.aspx

 

It is a very chatty application but you can set filters to see writes if you Filter on LogOpens, Log Success and Log Writes.

 

This is what I captured showing tmp files being created

 

t1482_tmp.png

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

IE7Pro user

Link to comment
Share on other sites

I beg to disagree with u Disk4mat. I still think it's a BUG. To refute your argument, this is how i tested.

1. Create a file inside C:\WINDOWS folder. (in my case, i created CCleaner.k99)

2. include "*.k99" in the CCleaner.ini (Include2=PATH|C:\windows\|*.k99)

3. Check the includes screen to confirm the configuration

4. Run CCleaner.

 

The result of my test is attached. The CCleaner.k99 file inside C:\WINDOWS folder is deleted! WILDCARD is accepted by CCleaner.

Yeah but... Wild cards are permitted by CC for subfolders. But not the root of the drive. Perform your test again using the .k99 on C:\

 

I placed a file named 'test.d4' on C and used the wildcard *.d4 and it remained. Moved the file to C:\SubFolder\ and updated the ini accordingly and presto it was found/removed. I put the file back on C:\ and in the ini changed it to the full file name. It was found/removed. Also note the screenshot reflects what happens when you select the root of a drive in CC to add a folder and specify cleaning using a pattern.

 

I did some more experimenting and came up with the following. CC simply will not allow wildcards to be used on any fixed disk. Not even another partition, not on an external hdd either.

What I should have said is that CC wont allow a wildcard to be used on the root of any drive/partition. CC allows the wildcard if a subfolder is selected...

 

Link to comment
Share on other sites

Yeah but... Wild cards are permitted by CC for subfolders. But not the root of the drive. Perform your test again using the .k99 on C:\

 

I placed a file named 'test.d4' on C and used the wildcard *.d4 and it remained. Moved the file to C:\SubFolder\ and updated the ini accordingly and presto it was found/removed. I put the file back on C:\ and in the ini changed it to the full file name. It was found/removed. Also note the screenshot reflects what happens when you select the root of a drive in CC to add a folder and specify cleaning using a pattern.

 

 

What I should have said is that CC wont allow a wildcard to be used on the root of any drive/partition. CC allows the wildcard if a subfolder is selected...

 

 

I also tried to change the Windows Environment User Variable to "TMP = C:\" just to test whether CC actually retrieve this info and use it as parameter during the cleaning. CC didn't clean the root folder as well!

 

If CCleaner is designed to behave like this, it must be a FEATURE! Not a BUG! a very special feature because other cleaners don't behave like this.

post-8641-1219281294_thumb.jpg

post-8641-1219281294_thumb.jpg

Link to comment
Share on other sites

  • Moderators

You may want to make another variable for your system i.e.; something like %drive% and have it mapped directly to C:\

 

Then in CCleaner for the path use: %drive%

 

I have no ideal if this will work as I've not tried it, and do please use the Analyze button in CCleaner first before committing to an actual deletion.

 

The only other option I can think of is to make a Temp Files cleaner batch file simply with this line in it:

 

del /q "C:\*.tmp"

 

 

Other than that is "may not be a bug in CCleaner, and perhaps it's just a safety feature."

Link to comment
Share on other sites

You may want to make another variable for your system i.e.; something like %drive% and have it mapped directly to C:\

 

Then in CCleaner for the path use: %drive%

 

I have no ideal if this will work as I've not tried it, and do please use the Analyze button in CCleaner first before committing to an actual deletion.

 

The only other option I can think of is to make a Temp Files cleaner batch file simply with this line in it:

 

del /q "C:\*.tmp"

 

 

Other than that is "may not be a bug in CCleaner, and perhaps it's just a safety feature."

 

If this is a safety feature, why would i be allowed to delete *.tmp in the "c:\windows" folder and not in the "c:\" folder? This is defenitely overlooked by the developers.... Disk4mat also did his own testing and found out this behaviour to be weird. The basic question is, in the CCleaner.ini Include line, why allow "c:\windows |*.tmp" but not allow "c:\|*.tmp"? Can you explain? Anyone can explain please?

Link to comment
Share on other sites

The basic question is, in the CCleaner.ini Include line, why allow "c:\windows |*.tmp" but not allow "c:\|*.tmp"? Can you explain? Anyone can explain please?
I think the reason is that teh dev's dont want people to use any wild card or patterns to removed files on the root of the drive. I say this because of the dialog title in my screenshot "you can not select the root of the drive". I really had hoped someone from Piriform would either explain the behavior (is intentional?) or offer a proposed solution (may be fixed in another release?).

 

For now... The issue remains in the wind.

Link to comment
Share on other sites

The .tmp files issue is being looked at. We put safety and security first, so it's taking a bit longer to come up with a flexible, but safe solution.

It'll be fixed in the next release... maybe ;)

 

MrG

 

 

At last I got a reply from the developer. Thanks MrG.

Link to comment
Share on other sites

  • Moderators

I've just found out it also can't via a cleaning routine cleanup files in the root of a user profile directory on XP.

 

For instance using a winapp2.ini cleaning routine like this doesn't work:

 

[*Test]

LangSecRef=3021

DetectFile=%ProgramFiles%\Test\test.exe

Default=True

FileKey1=%userprofile%|*.log

Link to comment
Share on other sites

  • 1 month later...
At last I got a reply from the developer. Thanks MrG.

 

 

I guess this topic should be permanently closed. The problem has been fixed in the new version...CCleaner v2.12.660

 

Thanks to the developer for listening to us, your followers, and for continuously improving this great utility.

Link to comment
Share on other sites

Whether the tmp file is created by malware, spyware, adware or any other program, the issue remains that CCleaner should delete those files.

 

I totally disagree with the above.

 

Windows itself will prohibit the removal of some files.

This prohibition could be due to Windows deciding "This is a vital system file and I will die without it."

This prohibition could be due to malware deciding "I'm going to live for ever - and you are not going to kill me."

This prohibition could be due to some valid process (possibly due to a Windows service) that is running.

This prohibition could be due to badly written legitimate software that has damaged file permissions.

 

If Windows allows me to delete a file (e.g. via the DOS command DEL)

only then would I think of blaming CCleaner for not deleting that file.

 

Regards

Alan

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.