Try this one, and u will never use anything else again.
basicly just import the thing and choose ini/xml/or reg in ur application i prefer ini, so i can have all my projects portable and just one dir with managed ini's
http://www.codeproject.com/KB/cs/readwritexmlini.aspx
And for the updates force an mutex singleapp that always checks for updates , and have a static addOn directory that always takes the compiled assemblys from that dir instead of the embeded ones.
this way you can always keep the old instalation and can always add or inprove by just one single dll file
something like
<br />
private void LoadAddIns() <br />
{<br />
DirectoryInfo addInDirInfo = new DirectoryInfo(Path.Combine(Application.StartupPath, "AddIns"));<br />
if (addInDirInfo.Exists)<br />
{<br />
foreach (FileInfo fileInfo in addInDirInfo.GetFiles("*.dll"))<br />
{<br />
Assembly assembly = Assembly.LoadFrom(fileInfo.FullName);<br />
foreach (Type type in assembly.GetTypes())<br />
{<br />
if (type.GetInterface(mystuff) != null)<br />
{<br />
classProvider = (myclass)Activator.CreateInstance(type);<br />
Program.Add(classProvider);<br />
}<br />
}<br />
}<br />
}<br />
}<br />
<br />
</code>
And have this before all other code so you can always overrule an old assemby