使用文件和目录键进行VBS自定义操作InstallShield

时间:2013-04-25 04:55:46

标签: vbscript installshield

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

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. VBScript / JScript自定义操作很脆弱。我建议reading up,然后选择InstallScript,C ++或C#/ DTF。

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

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

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

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

  6. 请记住,应该创建更改计算机配置的自定义操作以支持回滚。这意味着更多自定义操作。