Вы задаете две вещи, которые являются отдельными вопросами:
Это может быть сложно в зависимости от того, как вы это делаете. Существует множество различных вариантов: некоторые запускают веб-браузер для интерактивной справки, а другие запускают средство просмотра справки. Я также видел людей, имеющих простой просмотрщик справки, реализованный в простых элементах управления, таких как браузер или расширенный просмотрщик текста. Чтобы создать внешний файл (например, файл * .chm), я бы использовал коммерческий пакет, такой как robohelp, есть пакеты SDK от Microsoft, но такие пакеты, как RoboHelp, значительно упрощают подъем.
Чтобы получить справку, которая должна отображаться, вам обычно (в случае файла * .chm или веб-браузера) необходимо запустить программу просмотра. Справочный SDK от Microsoft содержит справку для этого, но вы также можете просто запустить программу, как и любую другую программу. Посмотрите на класс System.Diagnostics.Process.