0

我希望我的应用程序(在开始安装之前)检查Nokia_PC_Suite_rel_7_0_8_2 我的步骤是:

1)我添加了注册表搜索,它的属性是

Property = PCSUITERUNTIMEEXISTS, RegKey = HKEY_LOCAL_MACHINE\SOFTWARE\PCSuite\Product, Root= vsdrrHKLM, Value = Nokia Pc Suite

注意:我Value从注册表编辑器中获得了属性的值,我双击 PCSiute 然后我找到 Product 当我点击它时,我发现一个带有 2 个文本的对话:

  1. 值名称
  2. 价值数据

2)我添加了名为“PCSuite Runtime installed, if not prompt user”的新启动条件,其属性为:

    condition = PCSUITERUNTIMEEXISTS //(it's a drop down list so I selected the condition I created in "Registry Search"), 
Messege = [ProductName] requires Nokia_PC_Suite_rel_7_0_8_2  runtime. 
Please run setup.exe to install the prerequisites for this application.

现在在 setup.exe 中,我添加了 Nokia_PC_Suite_rel_7_0_8_2.exe 作为先决条件,因此当用户双击 setup.exe 时,如果他取消了整个安装,他将要求他安装 Nokia_PC_Suite_rel_7_0_8_2。

真正发生的是,当我单击 .msi 文件时,总是显示消息(“[ProductName] 需要 Nokia_PC_Suite_rel_7_0_8_2 运行时。请运行 setup.exe 以安装此应用程序的先决条件。”)尽管我的 PC 上安装了 PCSuite 版本.

那么该怎么办?如果他发现 PCSuite 没有显示该消息,我希望他继续安装,以便用户转到 setup.exe。此外,当我卸载 PCSuite 并单击 onsetup.exe 时,它​​开始安装 PCSuite,完成后他显示上一条消息并退出安装。

4

1 回答 1

0

快速测试表明您需要从 RegKey 中省略 HKEY_LOCAL_MACHINE\。因此,您的搜索注册表项将如下所示:

Property: PCSUITERUNTIMEEXISTS
RegKey: SOFTWARE\PCSuite\Product
Root: vsdrrHKLM
Value:  Nokia Pc Suite

Nokia Pc Suite needs to be a value (not a Key) that has data. I noticed in my testing just having a Value in the Registry Key that has no data the check will still fail.

If you are just trying to check for the existence of a KEY leave the value blank.

于 2010-08-24T16:51:59.790 回答