I have a GUI application written in C# with GTK#, and I would like to publish it in a portable format, without requiring the user install any sort of GTK, GTK#, .NET, or Mono runtimes or libraries on their system.
It is important that this application can be used on machines where installing such software may not be possible - one example of this is on school hardware, as it is in essence a school project that I want to be able to run (not necessarily develop) at school.
Of course, this would need to be cross-platform.
This similar question from 2009 received an answer which suggested including the GTK# installer within the application's installer. Ideally, I do not want my program to have an installer of any kind (see my previous point on school hardware - this would not be viable). This would also defeat the purpose of the application being portable.
Another question from 2011 looked more promising, and its answer suggested, among other options, embedding the runtime into the application - this, according to the answer, should gain the results I'm looking for. However, since the answer is now more than a decade old... is this outdated advice? Is there a better way?
Regarding the possibility of embedding the Mono runtime into the application, how would I go about doing this? The answer linked to this guide, but it wasn't very clear to me, so maybe there are other resources I've missed?