light.exe
セットアップ プロジェクト内のファイルの 1 つを見つけるのに問題があることを示すエラーが表示されます。問題の 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
です。パスを解決しようとすると、最終的な結果は、私の特定のケースではたまたま 260 文字を超えています。私の場合、exeの正しい絶対パスは260文字未満ですが、パスの一部が不要に含まれているため、この制限を超えています。\Path\To\Built\Executable\FoobarAppl10.exe
D:\Path\To\ProjectFolder
light.exe
D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject\..\..\Path\To\Built\Executable\FoobarAppl10.exe
D:\Path\To\ProjectFolder\Path\To\Built\Executable\FoobarAppl10.exe
WixInstaller\WixInstallerProject\..\..\
の代わりにaslight.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
ファイルでこれを修正できるようにする問題の解決策が必要です。はい、パスを短くすることはできますが、問題は実際にはパスが長すぎるということではなく (そうではないため)、相対パスの構文が不要な中間セクションを追加することです。