Build 如何将包含多个文件的目录添加到wix项目输出文件夹?

Build 如何将包含多个文件的目录添加到wix项目输出文件夹?,build,msbuild,wix,votive,Build,Msbuild,Wix,Votive,我正在尝试使用WiX工具集v3.7.1224.0创建一个可用于不同配置的安装程序。我已经有了一个可以工作的安装程序,我在VS2010中用Voctive构建了这个安装程序。安装程序在wixsql扩展的帮助下创建一个MSSQL数据库 创建数据库并指定所有表之后,我希望安装程序使用一些值初始化表。目前,这些值作为SqlString元素编译到msi中。我想将这些字符串外部化到配置文件中。配置文件将存储使用InsertTemporary()方法和customaction中的SOURCEDIR属性临时插入S

我正在尝试使用WiX工具集v3.7.1224.0创建一个可用于不同配置的安装程序。我已经有了一个可以工作的安装程序,我在VS2010中用Voctive构建了这个安装程序。安装程序在wixsql扩展的帮助下创建一个MSSQL数据库

创建数据库并指定所有表之后,我希望安装程序使用一些值初始化表。目前,这些值作为SqlString元素编译到msi中。我想将这些字符串外部化到配置文件中。配置文件将存储使用InsertTemporary()方法和customaction中的SOURCEDIR属性临时插入SqlString表中的字符串。我还没有决定配置文件的格式,但它将是一个xml文件或一个简单的文本文件,其中每个sql字符串都位于自己的行中,或者分别位于自己的元素中,因此我可以解析文件并为文件中的每个条目添加临时记录

我想将此配置文件集成到我的项目结构中。它应该被复制到项目的输出目录中,但不应该安装在最终用户的计算机上。我认为我可以通过将文件添加到我的项目中,然后在Voctive中更改文件的高级属性来实现这一点。我将“构建操作”指定为“内容”,将“复制到输出目录”指定为“始终”。但是,当我构建项目时,该文件不在项目的输出目录中。充其量我也希望能够将包含多个配置文件的目录添加到项目输出目录中


我有没有办法用Voctive和Wix来实现这一点?这在MSBuild中是可能的吗?如何修改.wixproj文件以创建目录和文件?

实际上,解决方案是修改该项目的wixproj文件。Wix使用MSBuild,可以找到MSBuild的Wix目标的非常简短的描述。要在Visual Studio中编辑wixproj文件,请打开Wix项目的上下文菜单并卸载它。打开已卸载项目的关联菜单,然后选择编辑项目名称.wixproj


要在编译项目后复制文件,必须将
Name
属性设置为
AfterBuild
的新
Target
元素添加到wixproj文件的
project
元素中。要复制文件,请为要复制到输出文件夹的每个文件指定一个
copy
元素。将
复制
元素放在
目标
元素中。阅读
Copy
语法。使用MSBuild可以做更多的工作,所以请看一下。

事实上,解决方案是修改该项目的wixproj文件。Wix使用MSBuild,可以找到MSBuild的Wix目标的非常简短的描述。要在Visual Studio中编辑wixproj文件,请打开Wix项目的上下文菜单并卸载它。打开已卸载项目的关联菜单,然后选择编辑项目名称.wixproj

要在编译项目后复制文件,必须将
Name
属性设置为
AfterBuild
的新
Target
元素添加到wixproj文件的
project
元素中。要复制文件,请为要复制到输出文件夹的每个文件指定一个
copy
元素。将
复制
元素放在
目标
元素中。阅读
Copy
语法。使用MSBuild还可以做更多的工作,因此请查看