If you want your script to run on any other machine (with same OS ofcource), you can use py2exe
(for windows), py2app
(for mac), or (I recommend this!) pyinstaller
. Pyinstaller can run on linux/win/mac, while py2exe only on win, and py2app only on mac.
Created .msi using setup.py? Interesting. Never heard about it. About shortcuts, honestly, i dont know. I will look around, and maybe find something interesting.
Happy codin'! EDIT
You can use pyinstaller to create just one file (--onefile), and then build .msi using this
(but i haven't used it, so i dont know how it works...).