我有一个以命令行方式调用的应用程序。我希望将协议与它相关联,让我们称之为协议runapp
。 runapp
会致电runapp.exe
。
我打算通过应用程序部署项目的注册表部分配置它。我首先查看了其他协议,特别是mailto
。我注意到我需要以下内容:
HKEY_CLASSES_ROOT
runapp
下的新密钥
HKEY_CLASSES_ROOT\runapp\shell\open\command
runapp
键下,我会添加两个字符串(Default)
,其值为URL:runapp protocol
,第二个字符串为URL Protocol
且没有值command
键下,我需要添加一个字符串(Default)
,其值为"C:\path\runapp.exe" "%1"
我把所有这些设置得很好。但是,当我实际运行安装程序时,在我的(Default)
字符串之前,已经存在另一个无值(Default)
字符串。所以看起来我以错误的方式设置了(Default)
字符串。什么是正确的方式?
其次,在备份所有内容之后,我在regedit中手动破解了这个不正确的密钥。现在,由于我的键看起来非常像mailto
,我终于停止了“找不到程序”错误,但我的应用程序实际上似乎根本没有执行。
有关如何正确设置(Default)
字符串并进一步解决协议问题的任何想法?感谢。
答案 0 :(得分:1)
查看此链接。它解释了如何在安装程序项目中提供默认值。
http://msdn.microsoft.com/en-us/library/aa266441(v=vs.60).aspx#vehowsettingregistryvaluesanchor2