在VS2010部署项目中配置Windows协议

时间:2013-11-21 19:45:41

标签: c# .net windows registry protocols

我有一个以命令行方式调用的应用程序。我希望将协议与它相关联,让我们称之为协议runapprunapp会致电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)字符串并进一步解决协议问题的任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

查看此链接。它解释了如何在安装程序项目中提供默认值。

http://msdn.microsoft.com/en-us/library/aa266441(v=vs.60).aspx#vehowsettingregistryvaluesanchor2