How do I programmatically self delete?

C# / .NET Compact Framework 2 / Windows Mobile 6

Please, I don't want to discuss *WHY to do it*, I just need to know *HOW to do it*!

Important:

* The "second application" approach is NOT an option. (Unless that second application can be "extracted" from running app, but I don't know how to do it!).
* No problem in forced reboot, if windows do the trick at startup. (Is it possible? Nice! Show me how!).
* Code samples are welcome.