解决!!
我正在尝试创建我的应用程序的自定义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
答案 0 :(得分:4)
使用Visual Studio安装项目,您可以在创建注册表项时使用[TARGETDIR]
变量。
此变量自动设置为安装应用程序的目标目录,只需将.exe
文件附加到最后。