Я боролся с такой же настройкой на прошлой неделе или около того.
Мне кажется, что они недавно внесли некоторые существенные изменения в работу Mercurial в IIS, поэтому ссылка выше на ДжеремиСкиннерс учебник будет проблематичным для 1.7.2
Это более свежая ссылка Я обнаружил, что мне пришлось сделать несколько вещей по-другому.
Эти инструкциидля 1.7.x, если вы используете 1.8.x, обязательно прочитайте комментарий Этана ниже!
Я следовал инструкциям в комментариях /contrib/win32/hgwebdir_wsgi.py.
Установить Python 2.6.6
Добавить Python в системный PATH (чтобы упростить жизнь)
Установка pywin32 v214 (с использованием программы установки Python, важно!) (Обратите внимание, что это построено для Python 2.6)
Установить isapi_wsgi
загрузить пакет исходного кода mercurial
Извлечь, Затем запустите
python setup.py --pure build_py -c -d . build_ext -i build_mo --force
python setup.py --pure install --force
Скопируйте hgwebdir_wsgi.py из / contrib / win32 в папку, из которой вы хотите разместить его.
Создатьфайл hgweb.config в папке, из которой вы собираетесь разместить.Добавьте содержимое
[paths]
yourRepoName = c:\yourRepoLocation
Отредактируйте hgwebdir_wsgi.py, указав hgweb.config.path_prefix равно 0, если hg является корнем сайта.если вы помещаете его в глубину vdir 1, то это 1 и т. д.
Запустите python hgwebdir_wsgi.py, чтобы создать isapi dll _hgwebdir_wsgi.dll.Консоль должна распечатать «установка завершена»
Создать пул приложений в IIS (без управляемого кода)
Создать свой веб-сайт с папкойустановить в ту же папку, что и hgwebdir_wsgi.py
Добавить обработчик типа Module, использовать "*" в качестве отображения, выбрать _hgwebdir_wsgi.dll в качестве исполняемого файла, выбрать isapimodule в качестве типа, Mercurial-ISAPI в качестве имени (хотя имя на самом деле не имеет значения)
Редактировать разрешения функций модуля для разрешения выполнения.
web.config (для предыдущих 2 шагов):
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<add name="Mercurial-Isapi" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\inetpub\hgweb\_hgwebdir_wsgi.dll" resourceType="Unspecified" />
</handlers>
</system.webServer>
После всего этого я смог заставить его работать.
И последнее, я скопировал MFC71.dll в windows / system32., хотя я не уверен, что это было необходимо http://python.net/crew/skippy/win32/
Я думаю, что основное различие между тем, что у меня есть, и тем, что находится по вышеуказанной ссылке, заключается в том, что я установил mercurial "pure python", хотяЯ полный новичок в Python, поэтому я не уверен.Кроме того, я выполнил «установку на python» для pywin и isapi_wsgi, а не для простого windows msis.