问题已解决!
我正在尝试创建一个自定义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 方案。