A Python GUI application for managing Microsoft Dynamics 365 Finance and Operations deployable package extensions. This tool allows you to selectively remove unwanted extensions from deployable packages before deployment.
- Clone the repository:
git clone https://github.com/KOSHKE/DeployVersionD365.git
cd DeployVersionD365- Run the application:
python main.py-
Select your D365 deployable package folder using the "Browse" button
-
Choose which extensions to keep (unselected extensions will be removed)
-
Click "Process Package" to apply changes
To add or modify extensions, edit src/config/extensions.py:
EXTENSIONS = {
"ext1": {
"name": "Extension Display Name",
"file_prefix": "dynamicsax-extension-prefix",
"xml_prefix": "xml-prefix"
},
# Add more extensions...
}The application expects the following D365 package structure:
PackageFolder/
├── AOSService/
│ └── Packages/
│ ├── files/
│ └── [extension files]
└── HotfixInstallationInfo.xml
-
File Removal: Removes files and directories starting with specified prefixes from:
AOSService/Packages/AOSService/Packages/files/
-
XML Processing: Updates
HotfixInstallationInfo.xmlby removing entries from:MetadataModuleListAllComponentList
- Validation: Checks package structure before processing
- Confirmation: Shows which extensions will be removed before proceeding
- Error Handling: Comprehensive error handling with user-friendly messages
- Python 3.7+
- tkinter (included with Python)
This project is open source. Please check the license file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For issues and questions, please create an issue on the GitHub repository.