读取安装程序包内的文件

时间:2011-04-19 11:09:59

标签: file wix windows-installer embed

我有一个我想在安装过程中使用的文件。它包含一些SQL。安装的应用程序本身不使用此文件,因此我不希望将其安装到客户端计算机上,我希望它是安装程序包的一部分,就像我使用Binary元素指定的自定义操作DLL一样。但是,如果我将其嵌入到安装程序包中,我该如何阅读该文件?有没有内置的WiX / DTF功能?或者我应该以另一种方式嵌入该文件?

3 个答案:

答案 0 :(得分:2)

您需要执行以下操作:

  • 使用<binary>元素来包含 该文件作为二进制文件中的流 你的包裹表。
  • 流 将文件从二进制表中取出来 即时自定义中的临时文件 动作,并存储的位置 属性中的临时文件,例如 CleanupSQLFile
  • 做任何事 你需要处理文件
  • 清理 完成后的文件。如果需要将文件作为延迟或提交操作的一部分进行清理,则需要使用名为CleanupSQLFile的Action并从CustomActionData属性中读取文件位置。 Property和CustomAction 必须具有相同的名称

InstallSite上有example of streaming a file from the binary table

答案 1 :(得分:0)

我有同样的要求。您可以在某个位置部署该文件,然后从该位置轻松读取,编辑和执行

答案 2 :(得分:0)

我自己发现的最好方法 - 为WiX自定义操作库创建一个Properties文件,并在那里添加所有SQL。 不应执行其他操作,以使SQL在自定义操作中可用! :)