У меня есть приложение, которое установлено для каждой машины (поскольку оно использует службу). Одна часть приложения представляет собой приложение в системном трее, которое позволяет вошедшему в систему пользователю контролировать операции службы. Я пытаюсь выяснить, как лучше установить это приложение для монитора.
Каждый отдельный пользователь должен иметь возможность настроить, хочет ли он / она запускать приложение монитора при входе в систему. Это означает, что ключ HKLM / Software / Microsoft / Windows / Run отсутствует - это разрешает настройку только для всех пользователей.
Конечно, есть соответствующий HKCU-ключ, однако, если его просто установить на этот ключ, это будет только для пользователя, который устанавливает приложение.
SO вопрос Запускать приложение при запуске для всех пользователей, но также разрешать настройку для каждого пользователя (Windows) относится к технике простого использования настраиваемого пользователем ключа или подобного, который проверяется при запуске -приложение, чтобы определить, следует ли запускать. Но это означает, что приложение должно запускаться, чтобы проверить значение, и я бы предпочел не увеличивать скорость запуска пользователя, если я могу избежать этого. Преимущество такого подхода заключается в том, что при удалении можно удалить regkey.
Другим способом выполнения части установки может быть использование Active Setup для создания ключа HKCU при входе в систему, однако это не документировано, и мне кажется, что простого способа удаления этого ключа нет, если приложение удалено? Я бы предположил, что если оставить значения реестра под ключом Run для HKCU, это может создать проблемы для пользователей после удаления.
Существует ли стандартный способ обработки приложений, запускаемых пользователем, с помощью установщика Windows? Особенно в отношении того, как удалить их позже?