【发布时间】:2013-03-15 11:26:46
【问题描述】:
我收到来自light.exe 的错误,表明在我的安装项目中定位文件之一时遇到问题。结果在有问题的 PC 上,我使用的相对路径超过 260 个字符。目前 Wix 的设置如下:
<File Id='FoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='..\..\Path\To\Built\Executable\FoobarAppl10.exe' KeyPath='yes'/>
我遇到的问题是 Wix 安装项目位于 D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject 和 \Path\To\Built\Executable\FoobarAppl10.exe 等文件夹中,存在于 D:\Path\To\ProjectFolder 文件夹下。当light.exe 尝试解析路径时,最终结果是D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject\..\..\Path\To\Built\Executable\FoobarAppl10.exe,在我的特定情况下恰好超过260 个字符。 exe 的正确绝对路径是 D:\Path\To\ProjectFolder\Path\To\Built\Executable\FoobarAppl10.exe,在我的情况下,它会少于 260 个字符,但是由于不必要地包含了路径中的 WixInstaller\WixInstallerProject\..\..\ 部分,所以它超过了这个限制。
有什么方法可以让light.exe 将..\..\Path\To\Built\Executable\FoobarAppl10.exe 解析为D:\Path\To\ProjectFolder\Path\To\Built\Executable\FoobarAppl10.exe 而不是D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject\..\..\Path\To\Built\Executable\FoobarAppl10.exe?
我明白这不是 Wix 本身的限制,更多的是构建 Wix 设计使用的 API 的方式的潜在限制,但是我需要一个解决问题的方法,让我能够在我的.wxs 文件。是的,缩短路径会起作用,但问题不在于路径太长(因为它不是),而是相对路径的语法添加了不必要的中间部分。
【问题讨论】:
标签: .net windows filesystems wix