- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我正在尝试创建一个合并模块,其中有多个 wxs 文件。自从我的项目构建成功以来,我认为一切都很好。后来,我意识到其中一个二级 wxs 文件的 Source 属性中使用的路径完全错误,但编译器没有给出以下错误:
系统找不到文件'..\..\release_area\WrongPath\Component2.dll'。
在辅助 wxs 文件中,我添加了 目录引用 引用文件夹的元素 装配文件夹 在主 wxs 文件中创建两个文件之间的引用。
主 wxs 文件 :
<Module Id="MyModule" Language="1033" Version="1.0.0.0">
<Package InstallerVersion="200" Platform="x86"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="AssemblyFolder">
<Component Id="Component1.dll">
<File Id="Component1.dll" Name="Component1.dll"
KeyPath="yes" Assembly=".net"
Source="..\..\release_area\Comp\Component1.dll" />
</Component>
</Directory>
</Directory>
</Module>
<Fragment>
<DirectoryRef Id="AssemblyFolder">
<Component Id="Component2.dll">
<File Id="Component2.dll" Name="Component2.dll"
KeyPath="yes" Assembly=".net"
Source="..\..\release_area\WrongPath\Component2.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Component Id="Component2.dll">
直接在主 wxs 中,我得到了错误:系统找不到文件 '..\..\release_area\WrongPath\Component2.dll'。
最佳答案
问题不在编译器 (candle.exe) 中。 Candle.exe 创建单独的“部分”(模块和片段都是“部分”)。链接器 (light.exe) 负责将它们拉到一起。 Light.exe 从“入口部分”(产品、模块或补丁)开始,并从那里向下跟踪引用。由于您的 Main.wxs 没有对 Secondary.wxs 的引用,因此 Secondary.wxs 中的内容永远不会被拉入。要解决此问题,只需添加:<ComponentRef Id="Component2.dll"/>
在你的 Module 元素下的某个地方(我通常把它们放在最后)。如果你有很多组件,那么 ComponentGroup 和 ComponentGroupRef 就会变得有用。
关于Wix:将模块与多个 wxs 文件合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477770/
我生成了一个 heat.exe 输出,以在我的主安装程序包中包含如此基本的可执行文件。热输出“heat.exe 在一个单独的文件夹中。问题是我不知道如何在我的主“FP7000TestApp.wxs”文
我刚刚被分配了一项工作(学习)WIX 的任务。为了更好地理解对话框处理和内容,我发现了许多“just get...”的引用,然后是 WixUI_InstallDir.wxs 和 InstallDirD
我正在使用 Eclipse 4.5.2 部署 JavaFX 应用程序 (JDK 1.8)。我想在安装过程中更改 IniFile。 Ant 任务或 JavaFX 部署正在临时文件夹 AppData\Lo
所以,我正在尝试创建一个合并模块,其中有多个 wxs 文件。自从我的项目构建成功以来,我认为一切都很好。后来,我意识到其中一个二级 wxs 文件的 Source 属性中使用的路径完全错误,但编译器没有
我在 Visual Studio 2012 中有一个 Wix 安装项目,并且有一个类似 的 xml 节点 我想根据构建配置更改 url。即在 uat 中我希望它是 http://uat.mywebs
这个问题涉及 heat.exe 的输出。我正在尝试在 MSI 中为 COM 互操作注册一些 .NET 程序集做“正确的事情”。 Regasm.exe 是错误。 Calling regasm.exe d
我有一个 defines.wxi -file 包含我所有 wxs 文件中使用的一些好的定义。 当我尝试从 之一引用定义的值时-我得到的文件 Undefined preprocessor variab
我的 WiX 安装程序项目有两个我需要注册的 .dll,所以我在我的预构建中有两个 heat.exe 调用,每个调用都输出一个 .wxs 文件,该文件创建一个组件和一个目录引用。问题在于必须为每个安装
UPGRADINGPRODUCTCODE 条件在库中的 wixui_install.wxs 中不起作用 如果第一次安装和进行重大升级,我想将下一个按钮的值更改为相应的 dlg。 这在 wix 库中不起
我正在使用 heat.exe 从 dir 创建一个 -wxs 文件,现在想要使用命令行实用程序从 wxs 文件生成/创建 msi 而不使用 Visual Studion。 以下问题中的一位用户建议引用
我是一名学生开发人员,我为我现在工作的公司构建了几个安装程序。所以我对 WIX 相当熟悉。 我们最近决定使用一个构建服务器来自动构建我们的解决方案。它构建调试和发布,以及混淆(和非混淆)项目。 你真的
我会尽量把它讲清楚,但如果您有任何疑问或不完全理解,请告诉我。 我有一个程序可以从头开始创建 WXS(WiX 源代码文件),并对其进行测试以确保其有效。我希望下一个自动步骤是使用 Visual Stu
我正在使用 heat.exe 生成一个 .wxs 文件以将文件包含在我的主安装程序中。我有两个问题: 我将使用哪些开关来注册 DLL? 生成输出文件后,我该如何将它添加到我的“Main.wxs”文件中
我正在尝试通过应用 xml 转换来清理由 heat.exe 生成的 wxs 文件。 下面是 heat.exe 的示例文件输出。
我想使用 xslt 来编辑从 heat in wix 生成的 .wxs 文件 这是 components_en_us.wxs
我有一个带有组件的 .wxs 文件 我知道最终用户将使用 Windows 7,并且很可能在他们的计算机上至少安装了 IE 9。但我真的很想将值设置为用
我将 Bundle.wxs 中的批处理文件链接为“ExecPackage”。批处理文件需要一个参数/命令行参数。 如何在“ExecPackage”中传递命令行参数/参数。 InstallComman
我想向 WXS 添加一些 print.out(或 ECHO)语句。我怎么能这样做? 最佳答案 编译 .wxs 文件时,可以使用预处理器指令: WiX 构建 Windows Installer 程序
关于如何下载和安装 .NET Framework(s) 有许多不完整的问题和答案,如果它们不可用,但 Internet 上似乎没有完整的代码可用。 您能否提供一个最小的可编译代码或指向生成 setup
我们正在使用 WiX 开发 Windows Installer 安装程序 (MSI) 3.5,我们在 MSI 中使用了合并模块。 在 MSI 中,我们指定了 ALLUSERS 属性值=1。 Windo
我是一名优秀的程序员,十分优秀!