我正在尝试使用可用于不同配置的 WiX Toolset v3.7.1224.0 创建安装程序。我已经有一个在 VS2010 中使用 Votive 构建的工作安装程序。安装程序在 WixSqlExtension 的帮助下创建一个 MSSQL 数据库。
创建数据库并指定所有表后,我希望安装程序使用一些值初始化表。目前,这些值作为 SqlString 元素编译到 msi 中。我想将这些字符串外部化到配置文件中。配置文件将使用自定义操作中的 InsertTemporary() 方法和 SOURCEDIR 属性临时存储插入到 SqlString 表中的字符串。我还没有决定配置文件的格式,但是它将是一个xml文件或一个简单的文本文件,其中每个sql字符串都在自己的行中,或者分别在自己的元素中,所以我可以解析文件并为文件中的每个条目添加一个临时记录。
我想将此配置文件集成到我的项目结构中。它应该被复制到项目的输出目录中,但不应安装在最终用户的计算机上。我认为我可以通过将文件添加到我的项目中,然后在 Votive 中更改文件的高级属性来完成此操作。我将“构建操作”指定为“内容”,将“复制到输出目录”指定为“始终”。但是当我构建项目时,该文件不存在于项目的输出目录中。充其量我还希望能够将包含多个配置文件的目录添加到项目输出目录中。
有什么办法可以用 Votive 和 Wix 实现这一目标吗?这可能与 MSBuild 吗?我将如何修改 .wixproj 文件来创建目录和文件?