Установщик NSIS по умолчанию использует предыдущие настройки запуска - PullRequest
0 голосов
/ 21 января 2020

Я могу установить приложение с помощью установщика NSIS, и позже я устанавливаю TaskManager-> Startup settings на отключенный. После удаления и переустановки приложения в настройках запуска по умолчанию используется предыдущий пользовательский параметр «отключен». Я хочу, чтобы установщик принудительно включал Enabled после новой установки, чтобы запускать приложения при перезагрузке. Как этого добиться с помощью NSIS-кодирования.

Спасибо

1 Ответ

1 голос
/ 22 января 2020

Я полагаю, что Microsoft хочет, чтобы это был параметр, контролируемый исключительно пользователем, но в любом случае диспетчер задач использует метод для изменения соответствующего значения REG_BINARY в следующих местах реестра в HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE, в зависимости от ситуации:

SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder

Включенные элементы содержат данные:

02 00 00 00 00 00 00 00 00 00 00 00

или

06 00 00 00 00 00 00 00 00 00 00 00

Отключенные элементы содержат данные, начинающиеся с 03000000 ... или 07000000 ... и сопровождаемые некоторыми шестнадцатеричными значениями [возможно, это временная метка?], Например:

03 00 00 00 F4 0B 28 C9 9D 79 D1 01

Мне неясно, в чем разница между теми, которые начинаются с 02 и 06, но кажется, что 02 становятся 03, а 06 становятся 07, когда отключены.

Чтобы убедиться, что ваш элемент автозагрузки включен, используйте WriteRegBin , чтобы установить для него значение 020000000000000000000000 или 060000000000000000000000, или просто используйте DeleteRegValue и удалите значение полностью.

...