Posso risponderti per mariadb: ti basta winrar per l' "installatore" e un batch per avviare il servizio mariadb in modo "portabile", e poi prepara un percorso fisso con dentro una installazione portabile minima (cosa buona e giusta sarebbe cambiare anche la porta di default, in modo da renderlo funzionante anche se mysql è già presente sul computer)
codice:
start "mysql" c:\percorso\mymariadb\bin\mysqld --no-defaults --innodb-file-per-table
puoi fermare il servizio con qualcosa tipo questo
codice:
c:\percorso\mymariadb\bin\mysqladmin shutdown -uroot -passwordroot
taskkill /f /im mysqld.exe
Il secondo comando è per buona misura (vale solo se l'utente è un amministratore), attenzione di nuovo nel caso a fare una versione funzionante con un mysql già in esecuzione.
Per apache non so, cerca "portable apache win32" o qualcosa del genere
EDIT: probabilmente trovi gli script già belli che pronti
- Apache start: \xampp\apache_start.bat
- Apache stop: \xampp\apache_stop.bat
- MySQL start: \xampp\mysql_start.bat
- MySQL stop: \xampp\mysql_stop.bat