visual-studio - Advanced Installer 中的多个构建配置

标签 visual-studio windows-installer advanced-installer

我在 Visual Studio 2010 中使用高级安装程序。 我设法创建了一个 .aip 项目,但是当我想从相关 VS 项目中添加文件时,我必须选择这些文件的确切位置。

我想使用多个构建配置,这样我就可以使用配置转换来根据我选择的构建配置更改我的 .config 文件。

这对我来说是个问题,因为当我在 Debug 中编译时,.exe 和 .dll 文件会转到 bin\Debug,但是当我编译时,假设, Staging 这些文件转到 bin\Staging

我怎样才能得到 Advanced Installer获取正确的文件,意思是从我选择的构建配置的目标文件夹中获取它们?

最佳答案

Advanced Installer 默认情况下不支持此功能,但稍作调整即可实现此功能。让我解释一下如何:

  1. 第一个要求是将 VS 生成的输出文件夹放在同一个父文件夹中,因为它们都放在“bin\”中。
  2. 现在您需要在 Advanced Installer GUI 中打开您的项目并执行以下操作:
  3. 在媒体页面中创建两个构建,称为调试和暂存
  4. 从“安装参数”页面创建一个名为“Configuration”的属性或您喜欢的名称
  5. 在“新建属性”对话框中,您可以选择为属性设置每次构建的值。将它们设置为“Debug”和“Staging”,即 VS 创建的文件夹的名称
  6. 现在转到"file"->“选项”->“路径变量”并定义一个新的路径变量,其中包含调试/暂存的完整路径,即您当前在项目中的路径。
  7. 在“主页”选项卡的工具栏中,使用“转换路径”向导,然后保存项目。

现在,棘手的部分来了,您需要在文本编辑器中编辑项目文件,例如 Notepad++,能够将文件保存为 UTF-8 格式。打开文件后,查找此 XML 节点:

 <COMPONENT cid="caphyon.advinst.msicomp.AppPathsComponent">
<ROW Name="BIN_DIR" Path="<your path>\bin\Debug" Type="2" Content="0"/>

如果您已经在使用此功能,则此处可能有多个变量。您需要编辑该值并将“Debug”替换为“[|Configuration]”。

现在您可以保存并构建项目,它应该为两个构建中的每一个获取正确的文件。

关于visual-studio - Advanced Installer 中的多个构建配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12277870/

相关文章:

WiX:如何允许自动生成的 ComponentGroup 自动生成 Guid

windows-installer - MongoDB 作为高级安装程序的先决条件

visual-studio-2010 - 我可以在不安装 VS2008 SP1 的情况下解决“错误 MSB8009”吗

visual-studio - 是否可以实现 GC.GetAliveInstancesOf<T>() (用于调试)?

c# - 在 MSI 包上执行批处理命令

batch-file - 在高级安装程序中自动在 .exe 之前运行 .bat 文件

c++ - 执行命令并获得输出 : popen and pclose undefined

c# - 如何将 Github 库导入我的项目?

64 位 WiX 自定义操作