我有一个以命令行方式调用的应用程序。我希望将协议与它联系起来,我们称之为协议runapp
。 runapp
将会拨打runapp.exe
。在VS2010部署项目中配置Windows协议
我打算通过应用程序部署项目的注册表部分进行配置。我首先看了其他协议,特别是mailto
。我注意到,我需要以下条件:
HKEY_CLASSES_ROOT
下一个新的密钥称为runapp
- 一系列新的钥匙到
runapp
项下创建HKEY_CLASSES_ROOT\runapp\shell\open\command
- ,我将添加两个字符串,
(Default)
与价值URL:runapp protocol
和第二个字符串URL Protocol
和没有值 - 也根据
command
键,我需要添加一个字符串,(Default)
与值"C:\path\runapp.exe" "%1"
我把所有这些都设置好了。但实际运行安装程序时,在我的(Default)
字符串之前,已经有了另一个无价值的(Default)
字符串。所以它看起来像我以错误的方式设置(Default)
字符串。什么是正确的方法?
其次,我在备份所有内容后手动在注册表中黑掉了这个不正确的键。现在,当我的键看起来非常像mailto
的时候,我终于停止了“找不到程序”的错误,但是我的应用程序似乎根本没有执行。
关于如何正确设置(Default)
字符串和进一步解决协议问题的任何想法?谢谢。
你实际上是否在使用“(默认)”作为数值名?如果是这样,那可能是你的问题。 –
但是你不能让它一片空白。如果你没有设置,它会变成'New Value#N'。那么我怎么能模仿一个名为'(Default)'的字符串的设置呢? – kmarks2
我还没有在一段时间内完成安装项目,但我知道在代码中使用RegSetValueEx(),您使用NULL或“”来设置默认值。 –