VNC or VNC Single Click (depending the need / both perfect for education purposes)
I assumed by default that you know VNC and maybe picked TeamViewer to take advantage of some benefits like nat-traverse, that's why my reply is focused on VNC Single Click.
For the full VNC I will let Wikipedia say more about the topic: https://en.wikipedia.org/wiki/Virtual_Network_Computing and for specific software I highly suggest the UltraVNC project.
Said this, about VNC Single Click.. basically is a VNC client with a reversed setup. Normally you have a client-server mechanism, right?
The common problem solved by TeamViewer is the capability to traverse nat complex schemes without making the remote user need to configure ports and all.
Well VNC one click is a pre-configured client like a remote assistance helpdesk app where the connection starts from the remote client that you want to control, the app connects to your vnc client put in -listen mode.
Your customer doesn't have to configure anything, he have only to double click the self-contained executable, you have to configure the vnc client picking a port or using the default one.
http://www.uvnc.com/products/uvnc-sc.html
Some notes about the configuration:
The Single Click executable is built with the settings and everything else already configured, the configuration is Hard-Coded inside the exe.
The uvnc website allows you to build your custom executable in this way:
- download the sample zip file from http://www.uvnc.com/docs/uvnc-sc.html
- extract somewhere the files inside the zip
- do the modifications as needed, most importantly edit the helpdesk.txt file where you will put your data and the address of your PC, is highly suggested the use of a DynDNS for this purpose.
- important step: put back the modified files inside the zip archive overwriting the previous ones
- upload the zip to the page I linked you choosing the version you would like (user and password are written on the page right above and are used only to prevent non-human bot spammers upload random files)
- you custom.exe file is now ready to be downloaded and can be shipped to your customers
Before having your customers run the executable, remember to run your vncviewer instance with: vncviewer.exe -listen
and open the related port on your router.
The default port for the vncviewer in listen mode is the 5500.
As you can see from the image below, if you want to run the client in listen mode with a different port (let's say the 3000) you have to use something like vncviewer.exe -listen 3000