Skip to content

jaython-dev/app-uninstaller

Repository files navigation

Smart Uninstaller - Windows Application Uninstaller GUI

A comprehensive Windows application uninstaller with cleanup capabilities, built with Python and ttkbootstrap.

πŸš€ Features

Core Functionality

  • Registry Reading: Reads installed applications from Windows registry

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • Application Information: Displays for each app:

    • Display Name
    • Version
    • Publisher
    • Install Date
    • Uninstall Command

GUI Features

  • Modern Interface: Built with ttkbootstrap for a beautiful, modern UI
  • Search & Filter: Real-time search and system app filtering
  • Sortable Columns: Click column headers to sort applications
  • Theme Toggle: Switch between dark and light themes
  • Responsive Layout: Resizable window with dynamic layout

Uninstall Capabilities

  • Silent Uninstall: Automatically modifies commands for silent operation
    • .exe files: Adds /S parameter
    • .msi files: Uses msiexec /x {GUID} /qn
  • Confirmation Dialogs: Safe uninstall with user confirmation
  • Threaded Operations: Non-blocking uninstall operations

Cleanup Features

  • Automatic Cleanup: Removes leftover files after uninstall
  • Manual Cleanup: Cleanup option without uninstalling
  • Target Locations:
    • C:\Program Files
    • C:\Program Files (x86)
    • %LOCALAPPDATA%
    • %APPDATA%
    • Desktop shortcuts
    • Start Menu shortcuts

Logging & Export

  • Activity Logging: Real-time log display with timestamps
  • File Logging: Saves to uninstall_log.txt
  • Export Options: Export to CSV or JSON format
  • Error Handling: Comprehensive error handling and user feedback

πŸ“¦ Installation

Prerequisites

  • Python 3.8 or higher
  • Windows 10/11

Install Dependencies

pip install -r requirements.txt

Run the Application

python uninstall_gui.py

πŸ› οΈ Building Executable

Using PyInstaller

pyinstaller uninstall_gui.py --onefile --noconsole --name="SmartUninstaller"

With Custom Icon

pyinstaller uninstall_gui.py --onefile --noconsole --icon=icon.ico --name="SmartUninstaller"

🎯 Usage

Basic Usage

  1. Launch the application
  2. Wait for applications to load (reads from registry)
  3. Search or filter applications as needed
  4. Select an application from the list
  5. Review details in the right panel
  6. Click Uninstall or Cleanup as desired

Advanced Features

Search and Filter

  • Use the search box to find specific applications
  • Toggle "Hide System Apps" to filter out Microsoft/system applications
  • Click column headers to sort by different criteria

Export Data

  • Click the "πŸ“€ Export" button
  • Choose between CSV or JSON format
  • Select save location and filename

Theme Switching

  • Click the theme button (πŸŒ™/β˜€οΈ) to switch between dark and light themes

Keyboard Shortcuts

  • Ctrl+F: Focus on search box
  • F5: Refresh application list

πŸ”§ Technical Details

Registry Access

The application reads from multiple registry locations to ensure comprehensive application detection:

  • System-wide applications (HKEY_LOCAL_MACHINE)
  • User-specific applications (HKEY_CURRENT_USER)
  • 32-bit applications on 64-bit systems (WOW6432Node)

Silent Uninstall Logic

  • EXE files: Adds /S parameter for silent execution
  • MSI files: Uses msiexec /x {GUID} /qn for silent uninstall
  • Existing silent params: Preserves existing silent parameters

Cleanup Algorithm

  • Name matching: Direct and partial name matching
  • Common locations: Program Files, AppData, Desktop, Start Menu
  • Safe removal: Error handling for locked files/folders

⚠️ Important Notes

Administrator Rights

  • Some operations may require administrator privileges
  • The application will warn if not running as administrator
  • Registry access and file cleanup work best with admin rights

Safety Features

  • Confirmation dialogs for all destructive operations
  • Logging of all operations for audit trail
  • Error handling for failed operations
  • Timeout protection for uninstall operations (5 minutes)

System Apps

  • System applications are identified by publisher/name patterns
  • Can be filtered out using the "Hide System Apps" toggle
  • Exercise caution when uninstalling system components

πŸ› Troubleshooting

Common Issues

Application Not Loading

  • Check if running as administrator
  • Verify registry access permissions
  • Check Windows Defender/firewall settings

Uninstall Fails

  • Ensure application is not running
  • Try running as administrator
  • Check uninstall command in registry
  • Review log for specific error messages

Cleanup Issues

  • Some files may be locked by running processes
  • Check file permissions
  • Review log for specific cleanup errors

Log Files

  • Application logs are saved to uninstall_log.txt
  • GUI log is displayed in real-time in the application
  • Export logs for troubleshooting

πŸ“ License

This project is open source and available under the MIT License.

🀝 Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

πŸ“ž Support

For issues, questions, or feature requests, please open an issue on the project repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published