【问题标题】:InstallShield LE : RegOpenKeyEx fails in custom actionInstallShield LE:RegOpenKeyEx 在自定义操作中失败
【发布时间】:2011-08-09 11:44:47
【问题描述】:

我需要在安装后执行一些额外的配置,所以我创建了一个可以完成工作的 smoll PostInstall.exe 控制台应用程序。我需要从注册表中获取 winamp 安装路径。

如果我单独运行这个 PostInstall.exe,它可以正常工作。但是如果我在自定义操作“注册产品后”中使用它,我会收到从函数返回的错误“系统找不到指定的文件”

DWORD kres  =  RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Winamp",0, KEY_QUERY_VALUE, &hKey);

我 100% 确定密钥存在 - 我在启动安装之前验证它。另外,当我在安装后手动运行 PostInstall.exe 时,它​​会成功。

我尝试设置“延迟执行”和“系统上下文中的延迟执行”,但是 没有帮助。

为什么 RegOpenKeyEx 在我的自定义操作中失败?

【问题讨论】:

    标签: registry installshield custom-action


    【解决方案1】:

    确保没有在其他用户帐户下提升安装。这样,您的自定义操作流程将不会针对具有不同 HKEY_CURRENT_USER 配置单元的不同用户执行。

    另外,尝试在您的自定义代码中获取当前用户并确定它是否是您所期望的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多