У меня есть ISAPI DLL, дополнение к IIS.Я создаю установщик для него, используя WIX 3.0.
В проекте установщика у меня есть ряд пользовательских действий, реализованных в Javascript.Один из них, запускаемый при запуске установки, останавливает все работающие веб-сайты IIS.Другой запускает веб-сайты IIS в конце установки.Это работает, CA вызываются в нужное время и в правильных условиях.но логика наивна.Он останавливает все веб-сайты в начале (даже если они уже остановлены) и запускает все веб-сайты в конце (даже если они были ранее остановлены).Это явно неправильно.
Что я хотел бы сделать, так это отслеживать, в каком сеансе веб-сайтов требовалась остановка в начале, а затем, в конце, только пытаться перезапустить эти веб-сайты.Получить состояние веб-сайта легко, используя свойство ServerState объекта CIM.У меня вопрос: как мне хранить эту информацию в сеансе MSI?
Легко вставить один фрагмент информации в свойство сеанса , но как лучше всего хранить набор из N фрагментов информации, по одному для каждого веб-сайта?В некоторых случаях может быть 1 веб-сайт, в некоторых случаях 51 веб-сайт.
Полагаю, я мог бы использовать каждое отдельное имя веб-сайта для создания отдельного имени свойства.Просто не уверен, что это лучший, самый эффективный, самый эффективный способ сделать что-то.Кроме того, законно ли использовать косую черту в имени свойства сеанса MSI?(в именах сайтов будет косая черта)
Предложения?