我有一个安装项目,它已经很好地工作了至少几年。我最近向组合中添加了一个新项目,一个winform。我花了大量的谷歌搜索和研究来使它工作-非常感谢我在我的“冒险”中发现的大量文章。
这个新项目使我能够在资源管理器中右键单击文件并将其添加到我的系统中。我可以很好地安装这个项目,文件正被添加/复制到它们正确的位置。代码很好,完全按照我说的做。
由于某些原因,注册表编辑器和Windows注册数据库在键上不一致。
注册表编辑器声明我应该有HKCR\*\shell\Add to system\command和一个字符串键
Name: (Default)
Value: "[TARGETDIR]mySystemAddFileForm "%1"
到目前为止一切都很好,是的,Windows reg db也相信这条道路是正确的。是的,有一个“但是”。出于某种原因,Windows reg db认为应该有第二个字符串键
Name: (Default)
Value: null
Windows优先处理我的逻辑(设计、代码、想法)。
如果我手动清理它,我可以右键单击这些文件,然后将它们添加到系统中。只是想说清楚。是的,资源管理器确实有一个右击选项,上面写着“添加到系统”,是的,在我手动编辑regedit之后,当我点击它时,它确实起作用了。
在我将其更改为注册表编辑器之前,我已经在CustomSetupActions中生成了键,但是如果用户决定编辑安装文件夹,我无法创建该句柄。从默认的programfiles到用户在安装点决定的任何内容。
注册表编辑器指的是安装项目View/Registry中的编辑器。
我怎样才能告诉Windows保持我精心调优的代码的f*,并让我决定何时何地创建哪些注册键。
编辑:(标准)到(默认)。Windows可能会将(默认)翻译为本地语言。将其保留为默认值。
发布于 2011-11-01 20:35:32
Windows Installer可以安装默认值,并且它们通常不会被Windows自动覆盖。
若要为Visual Studio安装项目安装默认值,请确保Name字段为空:http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx
这通常就足够了。如果安装后该值不符合预期,请尝试创建一个verbose installation log,以查看安装过程中发生的情况。最有可能的情况是注册表项被跳过或写入其他位置。
https://stackoverflow.com/questions/7965189
复制相似问题