Как добавить значение в ключ hkey_classes_root, где установлено приложение

Решено!!

Я пытаюсь создать собственный URL-протокол для своего приложения, который будет запускать мое приложение, когда они посещают или щелкают ссылку на myapp:start

Моя проблема в том, как узнать, где пользователь установил мое приложение. Может ли установщик msi указать местоположение при регистрации HKEY_CLASSES_ROOT в реестре?

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "C:\Program Files\MyAppFolder\MyApp.exe" "%1"

Я хотел изменить путь "C:\Program Files\MyAppFolder\MyApp.exe", чтобы пользователь установил мое приложение во время процесса установки.

Решение

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "[TARGETDIR]MyApp.exe "%1""

[TARGETDIR] автоматически изменится на то, где пользователь установил файл, например, "C:\Program Files\MyAppFolder\"

Для получения дополнительной информации перейдите по этой ссылке -> Регистрация приложения в схеме URI

1 ответ

Решение

В проекте установки Visual Studio вы можете использовать [TARGETDIR] переменная при создании вашего ключа реестра.

Эта переменная автоматически устанавливается в целевой каталог, в который устанавливается приложение, просто добавьте свой .exe файл до конца.

Другие вопросы по тегам