安装项目创建额外的键

问题描述:

我有一个安装项目,它至少工作了几年。我最近在这个组合中增加了一个新项目,一个winform。我带我进行了大量的谷歌搜索和研究,以使其发挥作用 - 许多感谢我在“冒险”期间发现的大量文章。安装项目创建额外的键

这个新项目使我可以右键单击资源管理器中的文件并将其添加到我的系统中。我可以安装项目很好,文件被添加/复制到他们的右边的地方。代码很好,正是我所说的。

由于某些原因,注册表编辑器和Windows注册数据库不同意密钥。

注册表编辑器状态,我应该有HKCR\*\shell\Add to system\command和字符串键说
Name: (Default)
Value: "[TARGETDIR]mySystemAddFileForm "%1"

SOFAR这么好,是Windows REG分贝也认为道路是正确的。是的,有一个“但”。 出于某种原因的Windows REG分贝认为应该有第二个字符串键说
Name: (Default)
Value: null

在Windows优先,打乱了我的逻辑(设计,代码,想法)。

如果我手动清理它,我可以右键单击这些文件,并将它们添加到系统中。只是要清楚。是的,资源管理器有一个右键点击选项,说“添加到系统”,是的我手动编辑注册表后,它点击它时,它会工作。

在将其更改为注册表编辑器之前,我在CustomSetupActions中生成了密钥,但如果用户决定编辑安装文件夹,则无法创建该句柄。从默认[程序文件](c:\ Program Files \ ..)到用户在安装点决定的任何内容。

通过注册表编辑器我的意思是在安装项目,查看/注册表中的一个。

如何告诉Windows保留我精细调整后的代码的f *,并让我决定在何时何地创建哪些reg键。

编辑:(标准)至(默认)。 Windows可能会将(默认)转换为本地语言。将其保留为默认值。

+0

“(标准)”是否指(默认)注册表项?此外,您的注册表值在文件路径后缺少一个报价。 –

+0

是标准==默认。这里有一个额外的“ – DoStuffZ

Windows安装程序可以安装默认值,并且通常它们不会被Windows自动覆盖。

要使用Visual Studio安装项目安装默认值时,请确保名称字段为空:http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx

这通常是不够的。如果安装后该值不符合预期,请尝试创建verbose installation log以查看安装过程中发生的情况。注册表项很可能被跳过或写入其他地方。

+0

啊,是的,你说的是什么,我已经写了”标准“这个词,当我删除它恢复为”默认“时,Windows可能会错过一个”默认“,所以它创建并翻译它是“标准的”,让我建立和测试,否则看起来像得分这个。干杯队友。 – DoStuffZ