_W>>>Как сделать так — пользователь нажимает ссылку на html страничке, запускается внешняя программа,
M>>Какая такая внешняя программа?
_W>Моя!
>>Кто ее устанавливать будет?
_W>Кто угодно — пользователь или инсталлер?
_W>Можно и не уставливать.
_W>Приложение — для windows (бинарник + index.html), для unix — (.cpp файл, +index.html) и может быть даже никаких сторонних либ. GUI via браузер пользователя.
>>С браузером регистрировать?
_W>В том то и дело, что мне почему-то везде советую регистрировать протокол winnie://. либо писать свой http сервер.
Правильно советуют

Потому что:
Как сделать так — пользователь нажимает ссылку на html страничке, запускается внешняя программа, рожает новый html файл, браузер переходит на него?
Делается только путем регистрации своего протокола с ИЕ (как это делается с ФФ и Оперой — не знаю) или написанием своего плагина.
Пример протокола:
telnet://prompt.franz.com (открывает соединение по протоколу Телнет с LISP REPL на franz.com)
Пример плагина:
http://www.rsdn.ru:80/File/9088/lisp_style_tutorial.pdf (ИЕ и ФФ должні откріть внутри браузера или, если изменені настройки, то предложить открыть файл.)
А по-другому — никак.