Подсистема Microsoft Help обладает одной не очень приятной, на мой взгляд, особенностью - она создает индексные файлы большого объема (при установке MSDN Library - около 1 Гб) на системном диске в папке X:\Documents and Settings\All Users\Application Data\Microsoft Help. При этом очень похоже, что данный путь жестко "зашит" в код Microsoft Help, в реестре никаких его упоминаний мне найти не удалось. А высвободить 1 гигабайт на системном диске было уж очень нужно
- в частности, для установки Windows Updates.
В результате долгого чесания затылка на ум пришла вот какая идея. Файловая система NTFS сама по себе позволяет монтировать дерево каталогов на любом NTFS диске в каталог (папку) на том же или другом NTFS диске. А раз так, то можно "обмануть" Microsoft Help, перенеся все ее индексы на другой диск, где свободного места достаточно, а вышеуказанную папку "Microsoft Help" сделать точкой монтирования.
В Unix-системах, хоть я отнюдь и не фанат оных, это было бы совершенно обыденной операцией. А вот в Windows XP (не знаю, как в Vista) дружественного к пользователю способа проделать такой трюк не нашлось. На помощь пришла утилита junction, разработанная всем известной компанией SysInternals Microsoft
(если кто вдруг не понял шутку, Microsoft не так давно купили SysInternals). Один магический пасс в командной строке - и вуаля, волки сыты (MSDN Library работает как ни в чем ни бывало), и овцы целы (драгоценный гигабайт свободного места).
Мораль: Дабы ваши пользователи не становились анекдотическими "месье, которые знают толк в извращениях", пишите код так, чтобы человек имел максимум контроля над тем, что и куда сохраняет ваша программа. К сожалению, руководства к сертификации семейств "Designed for Windows XP" говорят совсем другое (см. Data and Settings Management Requirements), и это повод для конструктивной дискуссии с Microsoft.