What limitations are you experiencing with ClickOnce? When I don't use ClickOnce, I use NSIS (though you could use most other installer languages/systems) to make a runnable, self-installing application.
That is, when you run the download it is running the application, and there aren't any setup questions. There is a menu option, or a frequent-use detector that allows for permanent installation.
The two hard issues are:
- Settings files
- Local registry settings
For settings files, I use a remote web service to hold states, etc.
If you need local registry settings (file associations, etc.) then you need to do a proper install, but this can be done silently when the user is working with the application for the first time.