UpdateStar AppCleaner 3
UpdateStar AppCleaner 3 Logo Award
"It scans and cleans very thoroughly compared with other cleaners. I now only use AppCleaner!" — Christoph V.

Clean your Windows computer with this Freeware.

AppCleaner 3 Freeware removes obsolete files on your computer including temporary files, history, cookies, internet logs and many more from 2000 software programs - more than any other cleaner. Frees up disk space and optimizes overall performance. Give it a try! It optimizes computer performance and is easy to use on a daily basis.

Contributing to AppCleaner

Adding a new language to AppCleaner

You can easily add new languages to AppCleaner. All text that appears in the user interface is defined in UTF-8 encoded text files. A number of these configuration files are already built into AppCleaner.

Exporting language files

You can export the built-in language files by calling Cleaner.Win.exe with the -x parameter. This will dump the built-in language files into the current working directory.

Creating a new language file

To add another language to AppCleaner:

  1. Add a subfolder called Lang to the AppCleaner folder
  2. Copy the embedded en-us.txt file you dumped using the -x command line parameter
  3. Rename this file to xx.txt where xx is the ISO 639-1 language identifier for your target language
  4. Replace the values on the right-hand side of each line with the translation into your target language

This is what the text file looks like:

LanguageName: "English"
Analyze: "&Analyze"
Clean: "&Clean"
OK: "OK"
Cancel: "Cancel"
Back: "Back"
...

File format rules

  • Each line starts with a keyword separated from the text value by a colon
  • Text values are enclosed in double quotes and can span multiple lines
  • If the text value includes a double quote character, it must be escaped with two double quote characters
  • Do not translate the keywords
  • Comments start with a number sign character (#) and extend to the end of the line

Special formatting

  • LanguageName: Defines the name of the language as shown in the dropdown on the options page. Please use the convention "English Language Name (Native Language Name)", e.g. "German (Deutsch)"
  • Ampersand (&): Some strings contain an ampersand character to define the keyboard shortcut character for the corresponding command
  • Placeholders: Some values contain formatting strings like {0} or {1}. These are replaced at runtime by computed values, such as the number of items or a file name. For example, "{0} items" might be shown as "14 items"

Advanced translations

In addition to the strings in en-us.txt, you might also want to translate some of the strings from Tasks.conf (described below). They contain the text in the tabs ("Cleaner", "Tools", "Options", "Apps", etc.) and all the descriptions next to the checkboxes in the left pane.

You can take any string that's used as a key in Tasks.conf and put it in your translation file (e.g. Options: "Optionen" to change the title of the Options tab to the German equivalent). Take a look at the de.txt file for examples of additional translations.

AppCleaner automatically picks up all *.txt files in the Lang folder, so you can immediately check out what your language file looks like.

If you have created a language file, please send it to us at support@updatestar.com and we'll consider it for inclusion in the next version of AppCleaner. Thanks!

Help us add new programs to AppCleaner

AppCleaner allows you to add new programs and override the ones that are built in. The cleaning process is driven by a configuration file.

Accessing the configuration file

You can view the built-in configuration file by calling Cleaner.Win.exe with the -x command line parameter. This will produce a file called Tasks.conf in the current working directory.

  • To override the built-in definitions: modify Tasks.conf and place it in the same folder as Cleaner.Win.exe
  • To add to the built-in definitions: create a file called Tasks.add.conf in the same folder as Cleaner.Win.exe

Configuration hierarchy

AppCleaner builds upon three hierarchically organized concepts (top-down):

  1. Task Areas: Represented by the tabs such as "Apps", "Browsers", and "Registry"
  2. Task Groups: Within a task area, you have a number of groups such as the "Multimedia" group within the "Apps" area
  3. Tasks: The low-level building blocks that contain the definitions for a single program, e.g. "Paint.NET"

The .conf file format

The .conf file format contains UTF-8 encoded text similar to JSON. Here's an example:

Apps: {
    Applications: {
        .NET Reflector: {
            DetectPattern: "%LocalAppData%\Red Gate\.NET Reflector 6\Reflector.cfg"
            Default: false
            FilePattern: [
                "%LocalAppData%\Red Gate\.NET Reflector 6\Cache\**\*"
                "%LocalAppData%\Red Gate\.NET Reflector 6\Reflector.cfg"
            ]
        }
    }
}

Basic types

  • Object: A number of key-value pairs within braces. The keys are strings that may omit the quotes. If the key contains a colon, the quotes must be present. Individual key-value pairs are separated by white space
  • Array: A number of values between brackets. Individual values are separated by white space
  • Boolean: true and false
  • String: A number of characters between double quotes. If the quote character is contained within a string, it must be encoded as two quotes in a row

Task definition keys

In the example above, "Apps" is the task area, "Applications" is the task group, and ".NET Reflector" is the task name. The following keys can be used to define a task:

DetectPattern
Evaluated at startup to determine whether this task is shown in the GUI. This test should yield a result if and only if the program is installed on the computer. The value contains a file pattern that identifies files that, when present, indicate that the program is installed. The pattern can be a glob and may contain known folder IDs such as %LocalAppData%. Can be set at the task group level to avoid repetition.
Detect
Like DetectPattern, but identifies a registry key or value that must exist when the program is installed. The registry key and value are separated by the pipe symbol (|). Can also appear at the task group level.
DetectOS
Shows the task only if the operating system has the specified version. It's a string value that includes the version optionally prefixed by a boolean operator such as >. If no operator is given, it defaults to >=. For example, "6.0" indicates Windows Vista or higher, while "<6.0" indicates Windows XP or lower.
FilePattern
Can be an array of string values or a single string value. Determines the files that should be deleted. This can contain the same patterns as DetectPattern.
IgnoreFiles
Glob pattern representing the files to be ignored. This is useful when you want to delete all files from a folder but keep just a few files. Can be a single value or an array.
RegKey
Can be an array or a single value. Determines the registry keys and values that should be deleted. Does not support patterns. Registry key and value are separated by the pipe symbol.
Default
true or false (defaults to false if not given). Determines whether the task is checked by default.
Regex
Allows you to replace or delete content from files. The value is an object that contains 3 key-value pairs: File, Pattern, Replacement.
SQLite
Allows you to perform queries in SQLite databases. The value is an object with 2 key-value pairs: db and sql.

If you have created a definition for a public application and want to share it, please send it to us at support@updatestar.com and we'll consider it for inclusion in the next version of AppCleaner. Thanks!