#installation #windows-installer
#установка #windows-installer
Вопрос:
Я пытаюсь проверить, установлен ли SharePoint 2010, прежде чем разрешить программе установки продолжить. Для того, чтобы это произошло, я добавил следующее свойство «Поиск целевой машины»:
Имя = «Поиск MOSS2010»
Свойство = SHAREPOINT2010 УСТАНОВЛЕНО
RegKey = SOFTWAREMicrosoft Shared ToolsWeb Server Extensions 14.0
Root = vsdrrHKLM
Значение = SharePoint
В моей системе указанный путь существует, а значение «SharePoint» равно «Установлен»
Теперь я добавил условие запуска:
Name = Установленный SharePoint 2010
Condition = SHAREPOINT2010INSTALLED=»Установленный»
InstallUrl = (пустой)
Message = SharePoint 2010 должен быть установлен до установки этого пакета.
Теперь в моей системе с установленным пакетом обновления SP2010 это значение оценивается как false, потому что программа установки выдает указанное выше сообщение со сбоем.
Есть ли способ отладить значение свойств во время установки? Или я делаю что-то глупое?
Спасибо.
Ответ №1:
Похоже, что ваш установщик может быть (например) 32-разрядным установщиком, но разделы реестра могут находиться в 64-разрядном реестре (или наоборот).
Чтобы создать 64-разрядный установщик с помощью Visual Studio, смотрите: http://msdn.microsoft.com/en-us/library/cd7a85k9.aspx
Комментарии:
1. Я думал, что 32/64-разрядное ореольное отображение реестра предназначено для раздела HKCR, а не для всего HKLM.
2. Если Sharepoint выполняет запись в 64-разрядный HKLM, то 32-разрядный процесс вообще не увидит его. Если выполняется запись в 32-разрядный HKLM, то вам нужно заглянуть в раздел Software Wow6432Node, чтобы получить 32-разрядные значения из 64-разрядного процесса.
3. Ну, будь я проклят! В конце концов, это был весь программный куст. Спасибо!