3

我最近为我的兄弟创建了一个应用程序供其使用,它有几个条目存储在它使用的注册表中。我在VS2010中创建了一个安装程序应用程序,以便他可以轻松地将应用程序安装到他的PC上,并将条目设置为他已更改的某些默认值。例如Visual Studio 2010更新注册表安装应用程序

我有一个名为“SummaryFolder”的条目和“成功安装”的值 - 所以安装时它会有默认值。他现在已经将其更改为PC上的实际文件夹。

现在我刚刚对程序进行了更改,并添加了更多注册表项,修改了安装应用程序并添加到新的安装条目中。我更改了安装应用程序的内部版本号,所以当他安装应用程序时,它实际上会更新他的现有版本。我遇到的问题是,他从初始安装中获得的现有注册表条目已被默认的“成功安装”值覆盖,因此删除了他设置的文件夹。

所以我的问题是:我如何指定安装程序只添加注册表项,如果他们不存在?我想让安装者为他尽可能简单。

非常感谢您的帮助。

回答

3

你可以试试这个方法:

  • 在解决方案资源管理器的顶部
  • 添加一个新的注册表搜索在解决方案资源管理器中选择安装项目
  • 点击启动条件编辑器按钮,并配置它来搜索为您的注册表项
  • 将搜索属性设置为有意义的内容,例如SUMMARY_FOLDER_REG(仅大写字母,因此它是公共属性)
  • in Ë注册表编辑器中选择你的注册表值,在其属性
  • 窗格中的条件字段设置为否定搜索属性:

    不SUMMARY_FOLDER_REG

这样的注册表项只安装如果搜索没有按找不到任何东西。

+0

谢谢,“SummaryFolder”reg条目位于:HKCU \ Software \ [Manufacturer] \ [ProductName] - 我应该如何在启动条件属性窗口中设置RegKey和值? – harag

+0

忽略上面的评论,我已经玩了一阵子,它似乎工作 - 我把“软件\ [制造商] \ [ProductName]”在regkey和“SummaryFolder”中的值属性。 – harag

相关问题