所以,我想创建一个合并模块,我有多个wxs文件。自从我的项目构建成功以来,我认为一切都很好。后来,我意识到Source属性中用于次要wxs文件之一的路径是完全错误的,但是编译器没有给出以下错误:Wix:合并模块与多个wxs文件
系统找不到文件'.. \ .. \ release_area \ WrongPath \ Component2.dll”。
在二次WXS文件,我添加一个DirectoryRef元件参考所述文件夹AssemblyFolder在主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>
二次WXS文件:
<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'。
所以,我的猜测是,副wxs文件和主wxs文件之间的引用是完全错误的,这就是为什么编译器不验证文件路径,但我找不出什么问题。
非常感谢!它像一个魅力。现在我可以开始将旧Wise安装程序转换为Wix – 2009-09-26 19:24:58