0

作为 MSI 项目的一部分,我有几个自定义操作,在 vS2008 中定义。

这些操作被定义为简短的 Javascript。有两种在安装时运行,一种在卸载时运行。一切正常。

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

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

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

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

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

4

1 回答 1

1

我没有 VS2008,但是你可以通过直接在 Orca 中编辑 msi 来做到这一点:

  1. 打开二进制表,创建新行。
  2. 单击二进制字段,浏览到您的脚本,将其流式传输到字段中。
  3. 在 CustomAction 表中,更改类型以反映它是存储在二进制表中的 jscript,并将源更改为指向新的二进制表条目。

Visual Studio 可能有不同的方法来做这件事,但希望这能给你一些开始。

于 2009-09-16T17:22:41.217 回答