Advanced Configuration: Customized Paths
Advanced User Feature
This documentation is intended for advanced users, system administrators, and IT professionals who need granular control over Multi Commander's configuration storage. Basic users typically don't need these features and should use the default configuration structure.
Multi Commander's CustomConfigPaths.xml system provides enterprise-grade control over configuration, logging, and user data storage locations. This powerful feature enables sophisticated deployment scenarios, centralized management, and custom organizational workflows.
System Overview
The CustomConfigPaths.xml system allows comprehensive redirection of Multi Commander's data storage, enabling sophisticated deployment and management scenarios.
Capabilities
- Path Redirection: Change base Config, Log, and UserData locations
- Individual File Redirection: Redirect specific configuration files
- Script Folder Extensions: Add additional script locations
- Environment Variable Support: Dynamic path resolution
- Relative Path Support: Flexible deployment options
- Enterprise Management: Centralized configuration control
Use Cases
- Enterprise Deployment: Standardized configurations across organizations
- Network Storage: Centralized configuration and data storage
- Multi-User Systems: Shared configurations with personal data separation
- Development Environments: Version-controlled configurations
- Portable Scenarios: Advanced portable deployment customization
- Security Compliance: Controlled data location requirements
Architecture Understanding
App Config vs User Config
- App Config: Installation-wide settings (read-only for users)
- User Config: Personal user settings (read-write)
- Portable Exception: Both locations are the same directory
- IT Control: App Config requires admin rights to modify
Configuration Hierarchy
- Priority: CustomConfigPaths.xml takes precedence
- Inheritance: Unspecified paths use defaults
- Validation: Multi Commander validates XML on startup
- Fallback: Invalid configurations revert to defaults
Security Considerations
- Read-Only Control: File permissions restrict modification
- Network Paths: UNC paths supported for enterprise scenarios
- Access Control: NTFS permissions apply to redirected locations
- Audit Trail: Changes tracked through file system auditing
CustomConfigPaths.xml File Locations
The CustomConfigPaths.xml file must be placed in the App Config directory, which varies by installation type and provides different levels of administrative control.
Portable Version
Location
[MultiCommander Directory]\Config\CustomConfigPaths.xml
Characteristics
- Single Location: App and User configs are identical
- File Access: Requires write access to application folder
- Deployment: Easily distributed with application
- Security: User-controlled configuration
Single User Installation
Location
C:\Users\[USERNAME]\AppData\Local\MultiCommander (X64)\Config\CustomConfigPaths.xml
Characteristics
- User-Specific: Individual user control
- No Admin Rights: Standard user can modify
- Personal Customization: Per-user configuration scenarios
- Local Profile: Roaming profile considerations
All Users Installation
Location
C:\Program Files\MultiCommander (X64)\Config\CustomConfigPaths.xml
Characteristics
- Enterprise Control: IT department management
- Admin Required: Requires administrative privileges
- System-Wide: Affects all users
- Centralized Management: Single configuration point
Security and Access Control
File Permissions Strategy
- Read-Only Deployment: Set file to read-only after configuration
- Administrative Control: Only admins can modify enterprise settings
- User Restriction: Prevent unauthorized configuration changes
- Audit Requirements: File access auditing for compliance
User Data Separation
Important distinction between App Config and User Data locations:
- App Config: Controls where configuration is read from
- User Data: Stored in
C:\Users\[USERNAME]\AppData\Roaming\MultiCommander\
- Redirection: CustomConfigPaths.xml can relocate user data folders
- Separation: Enables shared configs with personal data isolation
XML File Structure and Creation
The CustomConfigPaths.xml file follows a specific XML schema that must be properly formatted to ensure successful parsing by Multi Commander.
XML Creation Process
Step-by-Step Creation
- Create file: Name it
CustomConfigPaths.xml
in the appropriate location - Set encoding: Save using UTF-8 encoding (without BOM recommended)
- XML Declaration: Begin with proper XML header
- Root Element: Use
<CustomConfigPaths>
as container - Add Configuration: Insert specific redirection elements
- Validate: Test XML syntax in web browser
Basic XML Template
<?xml version="1.0" encoding="UTF-8"?>
<CustomConfigPaths>
<!-- Configuration elements go here -->
</CustomConfigPaths>
Validation and Testing
XML Validation Methods
- Browser Test: Drag XML file to Chrome/Edge
- XML Editor: Use specialized XML editors
- Visual Studio Code: XML syntax highlighting
- Multi Commander: Check application startup for errors
Common Issues
- Missing XML declaration
- Unclosed tags
- Invalid characters in paths
- Incorrect encoding
Path Specification Rules
Absolute Paths
- Full Windows Paths:
C:\MyConfig\MultiCommander
- UNC Network Paths:
\\Server\Share\Config
- Drive References: Use existing drive letters
- Security: Ensure path accessibility
Relative Paths
- Base Directory: Relative to default user config path
- Parent Navigation: Use
..\
for parent directories - Subdirectories: Use forward or backslashes
- Flexibility: Adapts to different user environments
Environment Variables
- %APPDATA%: User's application data folder
- %HOMEPATH%: User's home directory
- %USERNAME%: Current user's name
- %COMPUTERNAME%: Machine name for host-specific paths
Configuration Types and Elements
CustomConfigPaths.xml supports three primary configuration types, each addressing different deployment and management scenarios.
Base Path Redirection
ConfigPath
Redirects the entire configuration folder location.
<ConfigPath Path="C:\MC\Config"/>
LogPath
Changes where Multi Commander writes log files.
<LogPath Path="%APPDATA%\MC\Logs"/>
UserDataPath
Relocates user-specific data storage (FTP bookmarks, profiles).
<UserDataPath Path="\\Server\UserData\%USERNAME%"/>
Individual File Redirection
ConfigFileRedirect
Redirect specific configuration files to alternative locations.
<ConfigFileRedirect>
<ConfigFile File="UserMenu.xml"
Redirected="SharedMenus\StandardMenu.xml" />
<ConfigFile File="Extensions\MultiFileViewer\MultiFileViewer.xml"
Redirected="SharedConfigs\FileViewer.xml" />
</ConfigFileRedirect>
Use Cases
- Shared menu configurations
- Standardized extension settings
- Version-controlled specific configurations
Additional Script Folders
AdditionalScriptFolders
Add extra script locations for User Defined Commands.
<AdditionalScriptFolders>
<ScriptFolder Name="CompanyScripts"
Path="\\Server\Scripts\MC"
Recursive="1" />
<ScriptFolder Name="DevScripts"
Path="..\Development\Scripts"
Recursive="0" />
</AdditionalScriptFolders>
Attributes
- Name: Category name in User Defined Commands
- Path: Script folder location
- Recursive: 1 = scan subfolders, 0 = current folder only
Complete Configuration Example
Enterprise Deployment Template
This example demonstrates a comprehensive enterprise configuration with centralized management:
<?xml version="1.0" encoding="UTF-8"?>
<CustomConfigPaths>
<!-- Centralized configuration storage -->
<ConfigPath Path="\\FileServer\MultiCommander\Config\%USERNAME%"/>
<!-- Centralized logging for IT monitoring -->
<LogPath Path="\\LogServer\Applications\MultiCommander\%COMPUTERNAME%\%USERNAME%"/>
<!-- User-specific data on network storage -->
<UserDataPath Path="\\UserDataServer\Profiles\%USERNAME%\MultiCommander"/>
<!-- Shared configuration files -->
<ConfigFileRedirect>
<ConfigFile File="UserMenu.xml" Redirected="\\FileServer\SharedConfigs\StandardMenu.xml" />
<ConfigFile File="HotKeys.xml" Redirected="\\FileServer\SharedConfigs\CorporateHotkeys.xml" />
<ConfigFile File="Extensions\FileSearch\FileSearch.xml" Redirected="SharedConfigs\SearchConfig.xml" />
</ConfigFileRedirect>
<!-- Corporate and departmental scripts -->
<AdditionalScriptFolders>
<ScriptFolder Name="Corporate IT Scripts" Path="\\ScriptServer\IT\MultiCommander" Recursive="1" />
<ScriptFolder Name="Department Scripts" Path="\\DeptServer\%USERNAME%\Scripts" Recursive="1" />
<ScriptFolder Name="Development Tools" Path="C:\DevTools\MCScripts" Recursive="0" />
</AdditionalScriptFolders>
</CustomConfigPaths>
Enterprise Deployment Scenarios
Real-world examples of how CustomConfigPaths.xml can be leveraged in different organizational contexts and deployment strategies.
Corporate Standard Deployment
Scenario
Large corporation with standardized configurations but personalized user data.
Implementation Strategy
- Shared Configurations: Menu, keyboard shortcuts, and extension settings
- Personal Data: FTP bookmarks, recent files, personal scripts
- Centralized Logging: IT monitoring and compliance
- Version Control: Configuration versioning and rollback
Benefits
- Consistent user experience across organization
- Simplified support and training
- Centralized configuration management
- Compliance and audit capabilities
Cloud-Based Configuration
Scenario
Remote workforce with cloud-synchronized configurations and data.
Implementation Strategy
- Cloud Storage: OneDrive, SharePoint, or enterprise cloud
- Sync Folders: Automatic synchronization across devices
- Offline Access: Local caching for network independence
- Multi-Device: Same configuration on multiple machines
Configuration Example
<ConfigPath Path="%OneDrive%\MultiCommander\Config"/>
<UserDataPath Path="%OneDrive%\MultiCommander\UserData"/>
Development Environment
Scenario
Software development team with version-controlled configurations and project-specific scripts.
Implementation Strategy
- Git Repository: Configuration files in version control
- Project Scripts: Project-specific automation scripts
- Environment-Specific: Development, staging, production configs
- Team Sharing: Consistent development environment
Benefits
- Version-controlled configuration changes
- Environment-specific customization
- Automated deployment capabilities
- Team collaboration and standardization
High-Security Environment
Scenario
Government or financial institution with strict security and audit requirements.
Implementation Strategy
- Controlled Locations: Secure network storage with access controls
- Audit Trails: Comprehensive logging and monitoring
- Read-Only Configs: Prevent unauthorized modifications
- Compliance: Meet regulatory requirements
Security Features
- NTFS permissions on configuration files
- Centralized audit logging
- Network path access controls
- Configuration change tracking
Advanced Deployment Techniques
Automated Deployment
- Group Policy: Deploy via Windows Group Policy
- Configuration Management: Puppet, Chef, Ansible integration
- Scripted Installation: PowerShell deployment scripts
- MSI Packages: Custom installer packages
Monitoring and Maintenance
- Configuration Validation: Automated XML validation
- Path Accessibility: Network path monitoring
- Usage Analytics: Configuration usage tracking
- Health Checks: Regular configuration integrity checks
Troubleshooting
- Fallback Strategy: Default configuration recovery
- Logging Analysis: Configuration load error tracking
- User Support: Diagnostic information collection
- Rollback Procedures: Configuration version rollback
Best Practices and Recommendations
Professional guidelines for implementing and managing CustomConfigPaths.xml in production environments.
Implementation Best Practices
Planning and Design
- Requirements Analysis: Understand organizational needs
- Path Planning: Design logical and scalable path structures
- Security Assessment: Evaluate access control requirements
- Backup Strategy: Plan for configuration backup and recovery
Testing and Validation
- Pilot Deployment: Test with small user group first
- XML Validation: Verify syntax before deployment
- Path Testing: Ensure all paths are accessible
- Performance Testing: Verify network path performance
Common Pitfalls to Avoid
Configuration Errors
- Invalid XML: Syntax errors preventing configuration load
- Inaccessible Paths: Network paths without proper access
- Performance Issues: Slow network paths affecting startup
- Circular References: Configuration redirection loops
Deployment Issues
- Permission Problems: Insufficient access rights
- Network Dependencies: Configurations requiring constant connectivity
- Scale Issues: Configurations that don't scale to enterprise size
- Maintenance Overhead: Overly complex configurations
Advanced Tips and Techniques
Environment Variables
- Dynamic Paths: Use %USERNAME% for user-specific paths
- Computer-Specific: %COMPUTERNAME% for machine-specific configurations
- Custom Variables: Create custom environment variables for deployment
- Path Resolution: Understand Windows environment variable expansion
Network Considerations
- UNC Paths: Use UNC notation for network resources
- Performance: Consider network latency for configuration loading
- Offline Scenarios: Plan for network disconnection
- Caching Strategy: Implement local caching where appropriate
Maintenance Strategies
- Version Control: Track configuration file changes
- Documentation: Maintain comprehensive deployment documentation
- Monitoring: Monitor configuration file accessibility
- Support Process: Establish clear support procedures
Professional Implementation
CustomConfigPaths.xml is a powerful enterprise feature that requires careful planning and implementation. Start with simple scenarios and gradually build complexity as your understanding and requirements evolve. Always test thoroughly before production deployment.
Related Advanced Topics
For complementary advanced configuration topics, see User Defined Commands, Button Editor, and Keyboard Customization documentation.