自定义操作定义为脚本 - 我可以将其设为“二进制表流”吗?

时间:2009-09-01 18:31:40

标签: visual-studio windows-installer installation setup-project

我有一些自定义操作作为MSS项目的一部分,在vS2008中定义。

这些动作被定义为简短的Javascripts。有两个在安装时运行,另一个在卸载时运行。一切正常。

这些脚本作为常规文件安装在Application Folder中。安装期间运行的脚本,在执行结束时自行删除。卸载时运行的脚本位于应用程序目录中,直到需要它为止。

我了解到在MSI中有一个叫做“二进制表流”的东西。我不知道它是如何工作的,但显然custom action scripts可以存储为二进制表流,这意味着它们不会安装在文件系统中。

我可以在VS2008中配置一个自定义动作脚本作为二进制表流嵌入到MSI中吗?

编辑:我认为二进制表流只是一种说法,有问题的文件存储在MSI中名为“Binary”的表中。

如果是这种情况,也许另一个问题是,我可以后处理MSI将脚本从“非二进制表”移动到二进制表吗?

1 个答案:

答案 0 :(得分:1)

我没有VS2008,但你通过直接在Orca之类的东西编辑msi的方式是:

  1. 打开二进制表,创建新行。
  2. 单击二进制字段,浏览到您的脚本,将其流式传输到字段中。
  3. 在CustomAction表中,更改类型以反映它是存储在二进制表中的jscript,并将源更改为指向新的二进制表条目。
  4. Visual Studio可能有不同的方法来做到这一点,但希望这会给你一些开始。