|
1 | | -# PortableXE |
2 | | -Transform any Windows application into a portable, self-contained package |
| 1 | +# 📦 PortableXE Professional |
| 2 | + |
| 3 | +> **Transform any Windows application into a portable, self-contained package** |
| 4 | +
|
| 5 | +[](https://opensource.org/licenses/MIT) |
| 6 | +[](https://www.python.org/downloads/) |
| 7 | +[](https://www.microsoft.com/windows) |
| 8 | + |
| 9 | +## 🚀 Overview |
| 10 | + |
| 11 | +PortableXE Professional is a comprehensive tool that converts Windows executables and installers into portable applications that can run from any location without installation. Perfect for creating USB-portable software, testing applications in isolated environments, or maintaining clean systems. |
| 12 | + |
| 13 | +## ✨ Key Features |
| 14 | + |
| 15 | +### 🔧 **Advanced Extraction Engine** |
| 16 | +- **Multi-format Support**: 7-Zip, Inno Setup, MSI, NSIS, InstallShield, and more |
| 17 | +- **Intelligent Detection**: Automatically identifies installer types and extraction methods |
| 18 | +- **Fallback Mechanisms**: Multiple extraction strategies ensure maximum compatibility |
| 19 | + |
| 20 | +### 🎯 **Smart Application Analysis** |
| 21 | +- **PE Structure Analysis**: Deep inspection of executable architecture and subsystem |
| 22 | +- **Installer Detection**: Recognizes setup files vs. standalone applications |
| 23 | +- **Hash Verification**: SHA256 checksums for file integrity |
| 24 | + |
| 25 | +### 📁 **Professional Portable Structure** |
| 26 | +- **Standard Directory Layout**: App/, Data/, Documentation/, Plugins/ |
| 27 | +- **Environment Isolation**: Redirects AppData, Registry, and Temp folders |
| 28 | +- **Multiple Launchers**: Batch, PowerShell, and conversion scripts included |
| 29 | + |
| 30 | +### 🛠️ **Advanced Features** |
| 31 | +- **System Dependencies**: Automatic Visual C++ Redistributable inclusion |
| 32 | +- **Registry Backup**: Optional registry key preservation |
| 33 | +- **Compression Options**: Configurable compression levels |
| 34 | +- **Detailed Logging**: Comprehensive operation tracking |
| 35 | + |
| 36 | +## 📋 System Requirements |
| 37 | + |
| 38 | +- **Operating System**: Windows 10/11 (64-bit recommended) |
| 39 | +- **Python**: 3.8 or higher |
| 40 | +- **Memory**: 4GB RAM minimum, 8GB recommended |
| 41 | +- **Storage**: 500MB for application + space for portable apps |
| 42 | + |
| 43 | +### 🔗 **Optional Dependencies** (Recommended) |
| 44 | +- **7-Zip**: For advanced archive extraction |
| 45 | +- **innoextract**: For Inno Setup installer processing |
| 46 | + |
| 47 | +## 🛠️ Installation |
| 48 | + |
| 49 | +### Option 1: Python Installation |
| 50 | +```bash |
| 51 | +# Clone the repository |
| 52 | +git clone https://github.com/LMLK-seal/portablexe.git |
| 53 | +cd portablexe |
| 54 | + |
| 55 | +# Install required packages |
| 56 | +pip install customtkinter tkinter pathlib configparser |
| 57 | + |
| 58 | +# Install optional dependencies for enhanced functionality |
| 59 | +pip install pywin32 |
| 60 | +``` |
| 61 | + |
| 62 | +### Option 2: Portable Executable |
| 63 | +Download the pre-compiled executable from the [Releases](https://github.com/LMLK-seal/portablexe/releases) page. |
| 64 | + |
| 65 | +## 🎮 Quick Start |
| 66 | + |
| 67 | +### 🖥️ **GUI Mode** (Recommended) |
| 68 | +1. **Launch** PortableXE.py or the executable |
| 69 | +2. **Select** your installer or executable file |
| 70 | +3. **Configure** app name and output directory |
| 71 | +4. **Click** "Create Portable App" |
| 72 | +5. **Done!** Your portable app is ready |
| 73 | + |
| 74 | +### 💻 **Command Line Usage** (Optional) |
| 75 | +```bash |
| 76 | +python PortableXE.py --input "installer.exe" --output "C:\PortableApps" --name "MyApp" |
| 77 | +``` |
| 78 | + |
| 79 | +## 📁 Output Structure |
| 80 | + |
| 81 | +``` |
| 82 | +MyApp_Portable/ |
| 83 | +├── 📁 App/ # Core application files |
| 84 | +│ ├── MyApp.exe |
| 85 | +│ ├── Dependencies/ # System libraries |
| 86 | +│ └── ... |
| 87 | +├── 📁 Data/ # Portable data storage |
| 88 | +│ ├── AppData/ # Redirected AppData |
| 89 | +│ ├── Registry/ # Registry backups |
| 90 | +│ └── Profile/ # User profile data |
| 91 | +├── 📁 Documentation/ # User documentation |
| 92 | +├── 📁 Plugins/ # Application plugins |
| 93 | +├── 🚀 RUN.bat # Quick launcher |
| 94 | +├── ⚙️ MyApp.bat # Advanced launcher |
| 95 | +├── 🔧 ConvertInstaller.bat # Installer converter |
| 96 | +└── 📄 README.md # Usage instructions |
| 97 | +``` |
| 98 | + |
| 99 | +## 🎯 Supported Formats |
| 100 | + |
| 101 | +| Format | Support Level | Notes | |
| 102 | +|--------|---------------|-------| |
| 103 | +| **Inno Setup** | ✅ Excellent | Full extraction with innoextract | |
| 104 | +| **NSIS** | ✅ Excellent | 7-Zip based extraction | |
| 105 | +| **MSI** | ✅ Excellent | Native Windows Installer support | |
| 106 | +| **InstallShield** | 🟨 Good | 7-Zip extraction | |
| 107 | +| **WiX Toolset** | 🟨 Good | Standard MSI handling | |
| 108 | +| **ZIP/RAR Archives** | ✅ Excellent | Native support | |
| 109 | +| **Standalone EXE** | ✅ Perfect | Direct portable conversion | |
| 110 | + |
| 111 | +## ⚙️ Configuration |
| 112 | + |
| 113 | +PortableXE stores configuration in `%USERPROFILE%\PortableXE\config.ini`: |
| 114 | + |
| 115 | +```ini |
| 116 | +[General] |
| 117 | +default_output_dir = C:\PortableApps |
| 118 | +theme = dark |
| 119 | +auto_analyze = true |
| 120 | + |
| 121 | +[Advanced] |
| 122 | +include_dependencies = true |
| 123 | +create_launcher = true |
| 124 | +compression_level = 6 |
| 125 | + |
| 126 | +[Extraction] |
| 127 | +timeout_seconds = 300 |
| 128 | +use_7zip = true |
| 129 | +use_innoextract = true |
| 130 | +``` |
| 131 | + |
| 132 | +## 🔍 Troubleshooting |
| 133 | + |
| 134 | +### 🐛 **Common Issues** |
| 135 | + |
| 136 | +**Extraction Failed** |
| 137 | +- Ensure 7-Zip and innoextract are installed and in PATH |
| 138 | +- Try running as administrator for system-level installers |
| 139 | +- Check installer isn't corrupted or password-protected |
| 140 | + |
| 141 | +**Application Won't Start** |
| 142 | +- Verify all dependencies are in the Dependencies folder |
| 143 | +- Check Windows version compatibility |
| 144 | +- Review creation logs for missing files |
| 145 | + |
| 146 | +**Large File Sizes** |
| 147 | +- Adjust compression level in settings |
| 148 | +- Exclude unnecessary language packs or documentation |
| 149 | +- Use selective extraction options |
| 150 | + |
| 151 | +### 📞 **Getting Help** |
| 152 | +1. Check the **Creation Log** tab for detailed error messages |
| 153 | +2. Review generated **README.md** in the portable app folder |
| 154 | +3. Enable detailed logging in configuration |
| 155 | +4. Consult the **ConvertInstaller.bat** for manual conversion guidance |
| 156 | + |
| 157 | + |
| 158 | +## 📜 License |
| 159 | + |
| 160 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 161 | + |
| 162 | +## 🙏 Acknowledgments |
| 163 | + |
| 164 | +- **7-Zip** project for archive extraction capabilities |
| 165 | +- **innoextract** for Inno Setup installer support |
| 166 | +- **CustomTkinter** for the modern GUI framework |
| 167 | +- **Microsoft** for Windows Installer technology |
| 168 | + |
| 169 | +--- |
| 170 | + |
| 171 | +<div align="center"> |
| 172 | + |
| 173 | +**Made with ❤️ by LMLK-seal** |
| 174 | + |
| 175 | +[⭐ Star us on GitHub](https://github.com/LMLK-seal/portablexe) • [📝 Report Issues](https://github.com/LMLK-seal/portablexe/issues) • [💬 Discussions](https://github.com/LMLK-seal/portablexe/discussions) |
| 176 | + |
| 177 | +</div> |
0 commit comments