Существует ли расширение 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.

Другие вопросы по тегам