我正在尝试在 Windows 上设置一个测试应用程序以通过“myapp://website.com”样式的 URI 启动。大多数情况下,我的基础是这样的教程:
http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx
虽然我在 HKEY_CLASSES_ROOT 中进行了初始设置,但新的限制是无需管理员访问即可进行安装。因此,我删除了 CLASSES_ROOT 中的所有更改,并决定重试注册表添加,而不是使用 HKEY_CURRENT_USER/Software/Classes/myapp 中的 HKEY_CURRENT_USER 分支。
这似乎被浏览器检测到,并显示其确认对话框。但是,他们从未真正运行过该应用程序。Internet Explorer 提供了最有用的错误消息,并带有一个对话框,显示“无法为 {uri} 打开此帮助应用程序。此地址中指定的协议无效。确保地址正确,然后重试。
对于非管理员设置,我是否缺少注册表的某些部分?这是我的更改作为 .reg 的导出。(破折号审查我的用户名)。EditFlags 是作为猜测添加的,但没有它也不起作用。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\myapp]
"URL Protocol"=""
@="URL:David Protocol"
"EditFlags"=dword:02000000
[HKEY_CURRENT_USER\Software\Classes\myapp\DefaultIcon]
@="C:\\Users\\------\\AppData\\Roaming\\-----s Stuffs\\URISchemeTest.exe,1"
[HKEY_CURRENT_USER\Software\Classes\myapp\shell]
[HKEY_CURRENT_USER\Software\Classes\myapp\shell\open]
[HKEY_CURRENT_USER\Software\Classes\myapp\shell\open\command]
@="\"C:\\Users\\-------\\AppData\\Roaming\\------s Stuffs\\URISchemeText.exe\" \"%1\""