如何在安装应用程序的hkey_classes_root键上添加值

时间:2013-03-11 10:51:15

标签: c# registry windows-installer url-protocol visual-studio-setup

解决!!

我正在尝试创建我的应用程序的自定义URL协议,该协议将在他们访问或点击指向myapp的链接时启动我的应用程序:start

我的问题是如何知道用户安装我的应用程序的位置。在将HKEY_CLASSES_ROOT注册到注册表时,msi安装程序是否可以放置该位置?

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 \”

如需更多信息,请点击此链接 - > Registering an Application to a URI Scheme

1 个答案:

答案 0 :(得分:4)

使用Visual Studio安装项目,您可以在创建注册表项时使用[TARGETDIR]变量。

此变量自动设置为安装应用程序的目标目录,只需将.exe文件附加到最后。