2017-01-12 10 views
0

У меня проблема с моим установщиком wix, с которым мне бы хотелось посоветоваться.Wix install для пользователя как администратора

Я использую wix для создания msi, который выполняет установку для каждого пользователя. Для пользователя требуется, чтобы мне не нужны права администратора для установки. Я установил installscope = perUser и выдал себя за дам в пользовательском действии. Это хорошо работает, если не существует групповой политики, установленной для предотвращения установки пользователем. В этом случае любой может предложить способ для другого пользователя-администратора, у которого есть права на использование протокола msi, для запуска установщика, и все еще есть пользовательское действие, которое записывается в улей реестра HKCU зарегистрированных пользователей.

Надеется, что это имеет смысл

Благодаря

ответ

1

В идеале вы не должны иметь пользовательское действие делает написанное HKCU. Если бы мы знали, что вы пишете, возможно, что стандартный элемент реестра WiX может создавать записи, поэтому вам не нужен код. Или вы можете написать полу-пользовательское действие WiX, которое записывает нужные строки в таблицу реестра, которая, несмотря на свою кажущуюся сложность, является более простой конструкцией.

У персонализированных пользовательских действий по умолчанию не имеет доступа к HKCU, поскольку олицетворение не означает «вести себя так же, как интерактивный зарегистрированный пользователь с этими учетными данными». Олицетворение означает только то, что вы используете учетные данные пользователя. Это не означает, что у вас загружен профиль пользователя (куст реестра). Это объясняет документация для LoadUserProfile. Поэтому вам нужно будет сделать этот LoadUserProfile для пользователя установки. Все это довольно сложно, и, вероятно, это наименее хороший способ написать эти записи.

+0

Спасибо за ответ. Я понимаю, что вы говорите, но у меня нет выбора в пользовательских действиях. Это сторонний компонент, называемый addin express, и он предоставляет утилиту adxregistrator, которая выполняет регистрацию. У этого есть много логики, что я не хотел бы воссоздать. – user6448336