2016-01-18 2 views
1

В настоящее время я использую Qt-Installer-Framework для создания установки для своего приложения. На данный момент все работает нормально, кроме одного:QtIFW Всегда создавать запись в реестре

Если я устанавливаю его в любое место, но C:\Program Files\MyApp, установщик не будет создавать запись в реестре для Programs and Features!

Есть ли способ сообщить установщику, что он всегда это делает?

Edit:
осел vairous различных комбинаций, я знаю теперь, где проблема возникает из:

При попытке установить в качестве текущего пользователя (установить переменную AllUsers в false), его всегда будет работать и создать запись в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}.

Если я устанавливаю для всех пользователей, однако, он попытается создать ключ в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}. Это будет работать, только если установщик должен поднять свои операции во время установки (потому что я выбрал каталог, для которого мне нужны права администратора).

Таким образом, ошибка: установщик не будет поднимать себя для создания «глобальной» записи реестра и, следовательно, не сможет ее создать. Любые идеи о том, как исправить это?

+0

Windows версия? – Zen

+0

Это машина для Windows 10 – Felix

ответ

0

Здесь link который имеет ответ на этот вопрос.

Добавьте следующую строку в файл пакета XML вашего компонента:

@ < RequiresAdminRights> истинный </RequiresAdminRights> @

И использовать эту строку в файл сценария:

@component .addElevatedOperation («Выполнить», «someCommand»); @

вместо

@ component.addOperation ("Execute", "someCommand"); @

+0

Я знаю этот. Тем не менее, я не хочу, чтобы всегда запускался как администратор, только повышайте, если установка устанавливается для всех пользователей (решение во время выполнения с настраиваемой страницей). Кроме того, я не создал никакой операции для добавления записи в реестр. Это делается автоматически установщиком. – Felix

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