Neni ziadna side by side sprava (to si cital kde?)
Dll sa hladaju najprv v zlozke s programom, tam si das vlastne dll, napr. instalatorom, a ak sa tam nenajdu tak sa hladaju v systemovych zlozkach (mas to presnejsie popisane v MSDN niekde asi u LoadLibrary)
Ked robis program ktory pouziva externe dll ktore pozadujes v systeme napr. Visual C runtime balik, tak by mal instalator zabezpecit aby to nainstaloval ak to v PC neni a spravnu verziu. Ja spravidla v nastaveniach projektu prepinam runtime library na "statically linked" (resp. nie dll ale lib, v kazdej verzii VC++ sa to vola nejak inac), aby som nebol zavisly na nainstalovanych MS hovadinach na cudzich PC. Zvacsi to trochu exe ale tych par desiatok kB nikomu nevadi.
Pokial pouzivas NET framework tak by si mal zabezpecit aby instalator to odkontroloval a aby vyhodil error hlasku a link na MS stranky ked neni nainstalovana pozadovana alebo vyssie verzia (vyssia moze byt lebo dll a frameworky by mali byt spravidla spetne kompatibilne, to je zaklad boja proti dll hell)