如何在两个 WiX 项目中共享 WiX 片段?

2024-03-28

我们在 SomeDialog.wxs 文件中有一个 WiX 片段,它提示用户输入一些信息。它在控制对话框顺序的 InstallerUI.wxs 文件中的另一个片段中引用。当然,Product.wxs是我们的主文件。效果很好。

现在,我有第二个 Visual Studio 2008 Wix 3.0 项目,用于另一个应用程序的 .MSI,它需要向用户询问相同的信息。我似乎无法找出共享文件的最佳方法,以便更改请求的信息将导致两个 .MSI 都获得新的行为。

老实说,我无法判断合并模块、.wsi(包含)或 .wixlib 是否是正确的解决方案。我本来希望找到一个简单的例子来说明有人这样做,但到目前为止我失败了。

Edit:基于罗布·门兴的 https://stackoverflow.com/users/23852/rob-mensching wixlib 博客条目 http://robmensching.com/blog/posts/2008/10/10/What-are-.wixlibs-and-why-would-you-use-them,wixlib 可能是答案,但我仍在寻找如何执行此操作的示例。


我对 .wixlib 选项非常满意。我只花了几分钟就明白了 .wixlib 是什么。
我做了以下事情: 在 VS2008 中,添加->新建项目...,类型为“WiX Library Project”,名为 SQLDialog。 使用空的库创建 .wxs 文件<Fragment></Fragment>元素。 我将 UI 元素从现有对话框(在我的主“WiX 项目”中)复制到 Fragment 元素中:

<Fragment>
  <UI>
    <Dialog Id="SQLServerPromptingDlg" ... Title="SQL Server Information" ...>
      <Control Id="Next" Type="PushButton" ... Text="!(loc.WixUINext)" />
      ...
    </Dialog>
  </UI>
</Fragment>

我将wixlib项目添加到VS2008中的Release Build配置中。 我从 Main WiX 项目中删除了 SQLDialog.wxs 文件,并引用了 SQLDialog wixlib 项目。
当我重新编译解决方案时,Main WiX 项目的工作方式与之前完全相同!甜的!

然后我引用了我的另一个 WiX 项目中的 SQLDialog wixlib 项目并从那里使用它。效果很好!构建服务器很高兴,因为共享的 .wixlib 项目是它正在编译的解决方案的一部分。因此,就我们的目的而言,我认为这比“共享”目录更好。无意冒犯鲍勃。我很欣赏你的想法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在两个 WiX 项目中共享 WiX 片段? 的相关文章

  • 有没有办法在 WIX 安装程序中创建符号链接?

    我需要为特定文件夹创建符号链接 该文件夹是由 WIX 安装程序创建的 有没有办法从 WIX 安装程序创建符号链接 我读过关于mklink 但我不知道如何在 WIX v3 中使用它 您可以使用自定义操作来运行 mklink InstallFi
  • 为什么 msiexec TARGETDIR 似乎不起作用

    I tried msiexec i yarn 1 10 1 msi TARGETDIR C programs qb 软件已安装 但未安装到 TARGETDIR 中 我错过了什么 您可以尝试以下命令行 msiexec exe i yarn 1
  • 是否可以使用 WIX 创建多语言安装程序?

    是否可以使用 WIX 创建多语言安装程序 如果您创建嵌入式转换 则无需引导程序即可执行此操作 并且 MSI 安装程序将根据您的系统区域设置自动应用其中之一 有关完整的详细信息和脚本 请点击以下链接 http www geektieguy c
  • 尽管删除了 IIS,但仍然设置了 IISMAJORVERSION 和 IISMINORVERSION

    我正在创建一个依赖于正在安装的 IIS 的安装程序 为了进行测试 我使用运行 Windows Server 2008 R2 的虚拟机 该虚拟机安装了 Web 服务器角色 我的安装程序使用此条件检查是否安装了 IIS
  • 在 Wix 安装程序中以管理员模式运行 customAction 中的 ExeCommand

    我是 wix 安装程序的新手 我已经为我的应用程序使用 wix 安装程序开发了一个设置 我需要执行自定义操作来运行 cmd exe 中的命令 XP 下运行正常 但在 Windows 8 和 7 中 cmd 提示符需要以管理员身份运行 我用谷
  • WiX:如果虚拟目录包含嵌套目录,如何跳过删除 iis:WebVirtualDir?

    我的msi安装和卸载共享资源 IIS虚拟目录 MyTeamServices 它工作得很好 除了在卸载过程中删除该虚拟目录 即使有人创建了嵌套虚拟目录 不是通过使用安装程序 只是 手动 当我期望看到 WiX 处理 HDD 文件夹的标准行为时
  • 在 WiX 中如何通过名称选择 IIS 网站?

    我想做的是向安装程序用户显示其服务器上的网站列表 并允许他们选择一个 使用此处描述的方法 http www cmcrossroads com content view 13160 120 http www cmcrossroads com
  • Wix如何隐藏功能选项

    我正在使用 Wix 3 5 构建 MSI 安装程序 我想知道是否有任何方法可以隐藏 功能自定义安装对话框 中的某些选项 您可以在其中从功能树中选择要安装的内容 我只想有 将安装在本地硬盘上 和 整个功能将不可用 的选项 目前 除了这两个选项
  • 在wix中,使用vbscript,如何写入日志文件?

    我正在自定义操作中尝试以下操作 Session Log GetOfficeBitness Session Property OfficeBitness 我收到错误 错误 1720 此 Windows Installer 程序包有问题 A 无
  • 成功后动态改变EndDialog中的RTF内容

    多亏了这个question https stackoverflow com a 33679439 1076116 我能够执行自定义操作来临时更新和动态修改 MSI 数据库 简而言之 我正在做 CustomAction public stat
  • 如何确定现有应用程序的安装范围?

    我有一个基于的安装程序WixUI Advanced允许用户选择安装范围 每个用户或机器范围 升级时 安装了较低版本的现有应用程序 我想隐藏安装范围屏幕并自动选择他们上次选择的安装范围 如何判断先前安装使用的安装范围 Edit 查看我的 MS
  • 在 WiX Bundle 中包含 .NET 安装程序未检测是否已安装

    我使用的是 WiX 3 7 无法让简单的 捆绑元素正常工作 因为它不会带来 Net FX 安装程序包 也不会将其嵌入到 setup exe 中 我已经在我的程序中为此创建了自己的包Bundle wxs文件 但我仍然遇到麻烦 即使机器已经安装
  • 使用帮助库管理器和 WiX 安装帮助

    我试图通过使用 WiX 运行 Sandcastle 帮助文件生成器在构建我的 Sandcastle 项目后创建的 HelpLibraryManagerLauncher 将我自己的帮助文件添加到 Visual Studio 2010 的帮助库
  • 如何在 wix .wxs 文件中指定

    我想在 Wix 安装程序的 wix wxs 文件中将属性指定为受限属性
  • 使用 WiX 将程序集放入 GAC 和安装路径中

    我刚刚开始学习如何使用 WiX 但遇到了障碍 我的软件包使用第三方库 该库要求 GAC 和软件包安装目录中都存在一些文件 使用 WiX 我可以使文件显示在安装目录或 GAC 中 但不能同时显示在两者中 有什么办法可以解决这个问题吗 这里有一
  • 从对话框调用 CustomAction 时出现 WiX 安装错误 2762

    我是初学者 开始学习WiX 我想在安装过程中捕获 验证和注册用户详细信息 我创建了一个对话框来捕获用户注册并在用户单击 下一步 后调用自定义操作 但在这里我收到安装程序错误 2762 虽然错误描述说 必须在 InstallInitializ
  • WiX - 根据环境将编译后的 web.config 复制到网站根目录

    作为 WiX 安装的一部分 我将所有转换 编译的 web config 文件复制到安装目录 编译后的 web config 的名称格式为 web ENV config 在我的安装 UI 中 我创建了一个自定义对话框 在其中解析 ENV 并填
  • 根据 VS 活动配置定义 Wix 属性和值

    如何定义根据激活的 Visual Studio 配置而变化的 Wix 属性和值 例如对于我们的发布版本 var x 1 对于导出版本 var x 2 我们使用 wixproj 文件将属性传递到 WiX
  • 使用 元素通过 Wix 运行 SQL 脚本文件

    我是 Wix 安装程序的新手 我有一个要求 必须提供 SQL Server 登录凭据并从特定路径运行脚本 我不明白出了什么问题 项目已成功构建并创建了 msi 运行后我收到以下错误 错误26204 错误 2147217900 无法执行SQL
  • Wix:动态添加功能

    我们正在使用 Wix 为我们的软件构建 msi 我们有一些要在目标机器上实现的组件 插件 每个客户端的插件都不同 我们想要做的是创建一个标准构建并修改 msi 包中的功能列表 有没有办法通过自定义操作动态更改功能列表 例如 从自定义操作中读

随机推荐