Shipping apps using SxS assemblies
This came up one more time today, so I have decide to blog two links to well-done KB articles.
1) Applications that bypass globally serviced side-by-side assemblies may be vulnerable to issues that are fixed by a Microsoft software update - recommendation learned in hard way
2) GDI+ 1.0 Security Update Overview - a hard lesson
Long story short, several recommendation that were learned from mistakes made by others, you may find usefull for you:
- ship your applications with manifest that enumerates sxs assemblies used in this application
- always deploy manifest for SxS assemblies, even if you deploy applocal.
- If OS already installs this assemblies in WinSxS, do not install them applocal
- DLL/COM redirection is a nice feature, but do you really want to use it?
- Do not explicitely specify path to a library in LoadLibrary() call.
- Use <publisherPolicy apply="no"/> with caution.
Go ahead and read these articles. MSDN also has many pages on isolated applications, side-by-side assemblies.