Существует ли расширение WIX для установки оснастки / расширения MMC?
Похоже, что ранее в Wix2 существовало расширение для MMC, рекомендующее xmlns http://schemas.microsoft.com/wix/MmcExtension - попытка прочитать этот URL в настоящее время приводит к появлению страницы ошибки.
Я не могу найти эквивалент для Wix3.6, это преднамеренно (пере) перемещено, или просто отсутствует?
3 ответа
Он был удален, вы должны вручную создать ключи реестра. Эта ссылка имеет хорошее суммирование того, что вам нужно сделать.
Старое расширение было просто оберткой для кода, включенного в ссылку выше. Я не уверен, почему они взяли это.
Вы также можете использовать инструмент высокой температуры (вы можете найти его в каталоге wix bin/). использование простое, вам просто нужно экспортировать ключ реестра, созданный с помощью installutil, и запустить команду:
heat reg <your_exported_registry> -o <output_filename>
Информация по теме:
Сгенерировав записи реестра, большая проблема для нашей оснастки MMC заключалась в том, что она расширяла оснастку "Пользователи и компьютеры AD" - в частности, расширяя типы узлов для других типов объектов каталога.
Я надеялся, что такое расширение wix охватит такое, но это не было в более ранней версии.
В ожидании того, что Microsoft обратится к защите файлов / реестра Windows, чрезмерно защищая ADUAC, SMADUAC, GPO и т. Д., Наш клиент попросил нас обойти это.
Используя пользовательское действие, мы берем право собственности на WRP TrustedInstaller и предоставляем доступ группе Adminstrators для изменения ключа NodeType, чтобы можно было добавить дополнительные ключи.
Исходные функции из примеров MSDN
Пример кода SetPrivilege
Пример кода владения
Изменить пример кода ACL - это было откорректировано. Принятие прав собственности для расширения ACL, а не для создания нового ACL и удаления старого
Некоторые дополнительные пункты Примечание:
До Win7. Альтернативным способом получения права владения было бы использование SE_RESTORE_NAME, чтобы разрешить прямое изменение ACL, однако процесс установки из Win7 намеренно предотвращает это, это также препятствует тому, чтобы стать владельцем, мог восстановить первоначального владельца.
Типы платформ: SetNamedSecurityInfo не разрешает 32-битное выполнение в 64-битном реестре - в Windows 8 все еще присутствует ограничение ОС Windows. Однако 64-битное выполнение позволяет работать как с разделами 64, так и wow6432. Для бинарного пользовательского действия требуется как минимум специфичная для платформы dll.