2009-11-11 3 views
1

Я пытаюсь исправить существующее приложение, которое использует проект установки Visual Studio 2005.VS 2005 Setup - HKCU

Мы требуем, чтобы он работал с ограниченными учетными записями пользователей для XP, наше приложение написано на C# для .Net 2.0.

Он записывает ключи в HKCU во время настройки, но пропускает шаг пользовательского интерфейса для выбора «Install for Everyone» по сравнению с «Just me». Поэтому он по умолчанию устанавливается для Everyone.

Проблема заключается в том, что вы устанавливаете учетную запись администратора, а затем переключаетесь на ограниченную учетную запись. Это заставляет его выполнить установку восстановления, которая терпит неудачу. Если я перейду на любую другую учетную запись администратора, все будет хорошо.

Мой вопрос в том, где он помещает эти ключи для HKCU, что ограниченная учетная запись пытается читать/писать?

Есть ли волшебное место в HKEY_USERS, которое применяется к «Каждому»? Я не понимаю, как это работает, от администратора до другого пользователя-администратора. Чтобы проверить эту теорию, я вручную ввел ключи в HKCU у ограниченного пользователя, и он все еще пытался восстановить.

Если бы я знал, где находится этот ключ «Все», я могу просто предоставить полный доступ ко всем пользователям с помощью специального действия, поэтому ограниченная учетная запись не приведет к установке исправления.

ответ

1

Нет такой вещи, как «Все» HKCU ключ. HKCU - на одного пользователя. Установщик Windows всегда будет пытаться ремонтировать, и если каждый пользователь не имеет доступа к исходному файлу MSI, он, вероятно, потерпит неудачу.

В основном правило, я всегда следовать, чтобы никогда не писать HKCU во время установки, а я пишу HKLM во время установки, и первый раз, когда приложение запускается затем создать соответствующие HKCU ключи.

См. Мой ответ на вопрос SO Launching a program in different creds or HKCU and installers и ознакомьтесь с ActiveSetup в качестве жизнеспособной альтернативы для написания соответствующей конфигурации HKCU.

+0

Мы сами натолкнулись на это решение. Мы собираемся перенести настройки из файла на первый запуск для каждого пользователя и поместить их в HKCU. Если это было новое приложение, мы бы полностью не использовали реестр и использовали только файлы в папке с данными о Vista-uac-safe. – jonathanpeppers

1

Является

HKEY_USERS\.DEFAULT\ 

филиал вы ищете?

+0

Это системная учетная запись, и я не думаю, что моя установка работает под системой. Вот ссылка: http://blogs.msdn.com/oldnewthing/archive/2007/03/02/1786493.aspx – jonathanpeppers

Смежные вопросы