在wix中添加文件夹到安装程序而不是文件?

2024-05-04

我的安装程序必须将文件复制到 installdir...我的应用程序有大约 2000 个文件,我不可能编写脚本将每个文件添加到安装程序中。 wix中是否有任何选项可以让我一次添加所有文件或包含文件的整个文件夹?我是 wix 新手,我在任何教程中都没有找到任何选项...请帮助我并提前致谢......


热量是WiX 收获工具 http://wix.sourceforge.net/manual-wix3/heat.htm。您可以在目录上运行它以生成必要的 WiX 源代码。

EDIT: If you want to run heat before your VS project builds, add it to your project prebuild events as seen in the screenshot below (this is how I have my project setup to dynamically generate WiX source for our ever changing help content): VS Build Events

请注意-var wix.HelpSource我有的开关。 heat 生成的 WiX 源文件会将源文件的位置设置为该变量,而不是对其进行硬编码。因此生成的源将具有如下所示的组件:

<Component Id="Welcome.htm" Directory="Content" Guid="INSERT-GUID-HERE">
  <File Id="Welcome.htm" KeyPath="yes" Source="!(wix.HelpSource)\Content\Welcome.htm" />
</Component>

And in my particular case, I define that variable on the Tool Settings screen of my WiX VS project to the relative directory ..\..\Help\Output as seen below: enter image description here

NOTE:以这种方式收集文件将导致每次构建时收集的组件的 GUID 发生变化。如果您不希望 GUID 发生更改,则可能需要编写一些包装器来调用 heat 来收集文件,然后更新原始 WiX 源,而保留所有 GUID。

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

在wix中添加文件夹到安装程序而不是文件? 的相关文章

  • 如何在具有提升权限的 WiX 中创建的 MSI 中运行自定义操作?

    我有一个安装程序需要访问注册表并使用自定义操作复制和删除文件 在 Windows XP 中 安装程序运行良好 但在 Vista 和 7 中 安装程序显示错误 因为它无法访问文件夹 但如果我以管理员身份运行安装程序 则一切正常 因此 我需要安
  • msiexec 返回负数

    安装 MSI 时 我从 msiexec 收到奇怪的返回代码 即 2147021886 我想我记得在某处读到这是某种格式或编码问题 但我找不到参考 我还发现一个微软页面谈论 PS2 o 存在负返回码问题 但这种情况发生在 PS5 0 中 神奇
  • 在 WiX 中重新启动后继续安装

    我正在尝试使用 WixStandardBootstrapperApplication 创建引导应用程序 除了处理重启之外 它可以很好地完成我需要它做的所有事情 我需要安装一组EXE文件 只有第一个是 NET 4 5 需要重新启动 我会延迟重
  • Windows 安装程序中的主要与次要升级

    是否有任何理由不设置安装 以便始终完成主要升级并更改产品代码 我发现支持不同类型的安装需要更多代码 并且 修复 安装似乎通过重大升级更容易工作 而且需要安装的应用程序不是很大 因此不需要 服务包 或补丁安装程序 不会 如果您的应用程序很小并
  • 如何使用 wix 将多个元素添加到 XML 配置文件中?

    我正在尝试使用 Wix 编辑 XML 文件 我正在使用与 Wix 3 7 捆绑在一起的 WixUtilExtension xml 文件是在 Visual Studio 2010 中为 C 应用程序创建的设置文件 在此文件中 我使用一个用于在
  • WiX:如果虚拟目录包含嵌套目录,如何跳过删除 iis:WebVirtualDir?

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

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

    我有以下 wxs 文件
  • 使用自定义操作卸载多个产品

    我正在为我们的产品开发基于 WIX 的安装程序 该产品有一个基础产品和许多插件 基础版和插件将作为单独的 MSI 提供 仅当底座可用时才能安装插件 基础和插件在根文件夹下共享公共文件夹树 例如 C Program files MyProdu
  • 在wix中,使用vbscript,如何写入日志文件?

    我正在自定义操作中尝试以下操作 Session Log GetOfficeBitness Session Property OfficeBitness 我收到错误 错误 1720 此 Windows Installer 程序包有问题 A 无
  • 当自动为 WIX 安装程序收集文件时,我的目录结构有多灵活?

    请原谅我的无知 我一直在阅读一些书 但还没有准备好尝试任何东西 目前 我们有一个 wxs 文件 该文件无法轻松维护 每当从 SVN 提交 删除新文件时 都会手动添加 删除所有文件 由于在创建新文件和更新 wxs 安装文件之间发生了失误 我们
  • 在 WiX Bundle 中包含 .NET 安装程序未检测是否已安装

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

    我刚刚开始学习如何使用 WiX 但遇到了障碍 我的软件包使用第三方库 该库要求 GAC 和软件包安装目录中都存在一些文件 使用 WiX 我可以使文件显示在安装目录或 GAC 中 但不能同时显示在两者中 有什么办法可以解决这个问题吗 这里有一
  • WiX Burn:从注册表读取 LaunchTarget

    我是 WiX 的新手 我试图让我的 Bootstrapper 在完成后启动我安装的应用程序 为了实现这一点 我正在使用
  • 根据 VS 活动配置定义 Wix 属性和值

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

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

    我正在使用 WiX 3 5 及其 ServiceInstall 标签安装 Windows 服务
  • 如何在 WIX 中引用用户的主目录

    我正在为 SDK 创建一个安装程序 其中包括由最终用户编译的源代码 我希望我的 Wix 安装程序默认将其放入用户的主目录中 但我找不到要使用的正确属性名称 您还可以参考HOMEPATH环境变量与 HOMEPATH 有关用于属性的语法的更多详
  • WIX 自动生成 GUID *?

    假设我生成产品 ID 为 的 WIX XML 文件 另外 对于每个组件 GUID 我都使用
  • 如何使用 WiX 卸载时终止进程

    我正在使用 Wix 创建 msi 安装文件 当我卸载应用程序时 它仍然在工作 并且我可以在任务管理器中看到它 我已经尝试过自定义操作的延迟执行 如 Wix 文档中所述 https wixtoolset org documentation m

随机推荐

  • 在运行时替换 Property Setter 方法

    我有许多共享一个公共基类的对象 我希望拦截所有设置属性值的调用 并记录这些值是否已在每个实例的基础上设置 我可以用反射替换运行时属性的 Set 方法吗 一种方法是使属性成为虚拟的 并在运行时通过反射发射创建一个子类来覆盖属性 添加您的代码
  • python-daemon 不记录标准输出重定向

    我在代码中使用 python daemon 其中包含 print 语句 我想将它们发送到一个文件 所以我运行了以下命令 python server py gt gt log out 然而什么也进不去log out 谁能告诉我我需要做什么 T
  • 在php中声明一个对象数组

    如何将 php 中的对象列表声明为私有实例变量 在 Java 中 声明看起来像这样private ArrayList ls构造函数会有这个ls new ArrayList Thanks PHP 动态分配内存 而且它并不关心您在数组中存储什么
  • 在 CSS 规则中重复类名是否会增加其优先级?

    假设我有一个 div li class menu item li 有人可以告诉我是否可以使用li menu item menu item menu item 使这个CSS规则具有更高的优先级 Update 下面是说明这一点的代码 ul li
  • 在 Windows 上使用堆栈安装 SDL2 for Haskell

    我正在尝试将 SDL2 与堆栈一起使用 我跟着这些说明 https www reddit com r haskellgamedev comments 4jpthu windows sdl2 is now almost painless vi
  • 使用 JavaScript 进行 CAPTCHA 验证

    我正在尝试使用 JavaScript 验证验证码 但我找不到任何有关验证码客户端 API 的资源 你有任何文件吗 If you could通过 JavaScript 验证验证码 这意味着在您传递给客户端的代码中可以轻松找到有效代码的方法 这
  • jQuery 对表列重新排序

    我找到了适用于行的各种解决方案 以及适用于普通表列的各种解决方案 但我需要一个允许我拖放 colspan gt 1 的列标题的解决方案 例如 table thead tr th A1 th th A2 th th A4 th th A5 t
  • 事件源和 SQL Server 多个关系表

    我们使用 SQL Server 2016 的事件源 我们有完整的客户产品应用程序 每个应用程序都标记为CustomerId并在事件商店中获取单个指南行项目 这是写入事件存储指南的主要标识符 产品应用程序附带许多不同的关系事物 没有引导 但有
  • SpriteKit:如何使用混合模式在图层中打孔

    我有一个简单的场景 添加了一些元素 现在我想专注于一个带有遮罩的特定元素 在与我想要关注的元素相同的位置切割整个元素 与我们在某些游戏第一次启动时看到的显示某种教程非常相似 基本上我添加了一个全屏层alpha 0 7 因此用户仍然可以看到所
  • ViewPager 中显示多个页面,位置不正确

    我正在尝试实现 Dave Smith 的 PagerContainer 以在我的 ViewPager 中显示多个页面 我已经实现了一个点击监听器来显示页码 但是当我单击左侧页面时 会显示 单击项目 2 消息 项目 0 是正确的 如果我单击中
  • VS Code 中运行代码和不调试运行的区别

    我是 cpp 编程的新手 使用 Visual Studio 代码 我不明白 Ctrl Alt N 运行代码 和 Ctrl F5 运行而不调试 之间有什么区别 Ctrl Alt N Run Code is a shortcut provide
  • 如果我有一些其他编程经验,学习 C++ 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 只是想知道您对我学习 C 的策略有何看法 虽然我知道掌握一门编程语言需要数年时间 但我只是想尽快达到可以被认为有能力的水平 为什么要快 好吧 当
  • MSBuild:OutputPath 目录为空

    我想部署我的 ASP NET MVC 站点并具有以下脚本
  • Razor 三元表达式中的 Html 文字

    我正在尝试做类似以下的事情 div string IsNullOrEmpty myString nbsp myString div 上面的语法无效 我尝试了很多不同的东西但无法让它工作 请尝试以下操作 Html Raw string IsN
  • Windows 铿锵声Hello World lnk4217

    我已经安装了 clang 版本 6 0 以及 Visual Studio 2017 我正在编译一个简单的 hello world 应用程序 include
  • 参数的值类别在重载解析(或更一般的函数调用处理)的哪一部分中发挥作用?

    C 模板 完整指南 http www tmplbook com 在 C 1中 读取 执行重载解析以找到best候选人 如果有则选择 否则 调用是不明确的 然后 在 C 2中 对可能的匹配 给定参数与可行候选的相应参数 进行排序 如下所示 我
  • Filezilla - 需要将项目从服务器复制到桌面[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这可能非常简单明了 但我对 Filezilla 不太熟悉 不能犯错误 我需要将文件从服务器复制到桌面 而不实际将其从服务器中删除 实时站点
  • Doctrine2大合集

    在过去的几天里 我一直在玩doctrine2 ZF 设置 我仍然无法弄清楚的一件事是大型数组集合关联 例如 假设我们有一个名为 Post 的实体 每个帖子可以有很多评论 现在 如果我这样做 这将加载所有评论 post gt comments
  • Excel 文件的正确内容类型是什么? [复制]

    这个问题在这里已经有答案了 我希望网站上的 Excel 文件在单击时在 Excel 中打开 而不是保存在桌面上 或者嵌入在浏览器中打开等 现在显然 这一切都取决于如何为每个用户配置所有内容 但最好的内容类型是什么以及其他设置以在大多数情况下
  • 在wix中添加文件夹到安装程序而不是文件?

    我的安装程序必须将文件复制到 installdir 我的应用程序有大约 2000 个文件 我不可能编写脚本将每个文件添加到安装程序中 wix中是否有任何选项可以让我一次添加所有文件或包含文件的整个文件夹 我是 wix 新手 我在任何教程中都