You have 2 issues:
Issue 1. You need to get ACCESS to the Win7 machine. For this I suggest OpenVPN. There is a COMPLETELY free version available. It is a bit of a pain to set up (requiring some command line tools to be run and questions answered, there is help available, TAKE THE TIME TO READ IT!)
To set up OpenVPN you will need to create the magical key files for each user. This file is what identifies the user (not a user name), so control those very carefully and make sure to NEVER give the some file out to more than one user.
Why not windows built in remote access (vpn)? Well because NORMALLY for desktop versions of windows these are crippled to permit only a single remote connection at a time. If thats all you expect then you can go this way instead of OpenVPN.
It is also possible to use both and have some users come in through microsoft remote access services and some through OpenVPN.
Issue 2. You need to run the app. On a plain Win7 box (well, depending on version) you can use Remote Desktop, just watch out because on non-server versions of windows you can only have a single user logged in via remote desktop at a time. You will be able to make the connection and log in but if any other user is already logged in they will get booted off (disconnected).
For SIMPLE access to a GUI program on a remote machine this approach works extremely well. I use this combination regularly.
If you want several users to run that GUI application AT THE SAME TIME you won't be able to use Win7, you will need a server OS with terminal services, such as windows server 2003 or 2008. This will cost more.
If on the other hand it was a web app and the win7 box is acting as web server, then the VPN / remote access should be all you need.
(You may also need to set up port forwarding for the remote access port or the openVPN port on any router you may have).