【问题标题】:Use File and Directory key for VBS custom action InstallShield为 VBS 自定义操作 InstallShield 使用文件和目录键
【发布时间】:2013-04-25 04:55:45
【问题描述】:

我想确认这个方法。在 InstallShield 中创建 EXE 自定义操作时,您可以使用 [DIRKey] 调用项目目录并使用 [#FILEKey] 调用文件。现在我正在尝试对 VBS 自定义操作做同样的事情。我在系统上下文中设置了不同的自定义操作,但不幸的是这不起作用。我可以知道是否有办法在 VBS 自定义操作中执行相同的机制?

谢谢!

【问题讨论】:

    标签: vbscript installshield


    【解决方案1】:
    1. VBScript / JScript 自定义操作很脆弱。我建议 reading up 在这方面选择 InstallScript、C++ 或 C#/DTF。

    2. 将 [dirprop] [#filekey] 转换为完整路径需要具有完全访问权限的 MSI 会话句柄。延迟的自定义操作缺少这一点。要克服这个问题,您必须立即使用自定义操作进行评估,然后将其作为 CustomActionData 传递给延迟的自定义操作。

    3. EXE 自定义操作可以解决此问题,因为自定义操作会隐式调用两次。一次安排操作(立即),在这种情况下,翻译是自动的,然后在实际执行的地方延迟一次。

    4. 在调用 EXE 时,can go wrong 有很多事情。这可以通过使用WiX QuietExecCA 来缓解(即使在 InstallShield 中),方法是“窃取” DLL 或将其封装在合并模块项目中并在 InstallShield 中使用。

    5. 意识到自定义操作不应该重新发明轮子。我不知道您的 EXE 是什么,但如果有任何方法可以将其分解为 Windows Installer 可以表达的部分,您的复杂性和风险将大大降低。

    6. 请记住,更改计算机配置的自定义操作应被编写为支持回滚。这意味着更多的自定义操作。

    【讨论】:

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