LGHT0103 СИСТЕМА НЕ МОЖЕТ НАЙТИ ФАЙЛ WIX38

Я новичок в переполнении стека и в Wix, поэтому, пожалуйста, потерпите меня.

Я использую Wix38 в Visual Studio2012 на ноутбуке x64. Я пытаюсь создать установщик x86, но некоторые из файлов, которые я пытаюсь добавить, не могут быть собраны из-за ошибки системы LGHT0103, которая не может найти файл.

Мой код Wix для добавления файлов выглядит следующим образом:

   <Fragment>
   <ComponentGroup Id="DesktopComponents" Directory="INSTALLFOLDER">
     <Component Id="CMPExecutable" Guid="{E84BF717-9B73-439F-B8D2-1E2C2E5FA204}">
      <File Id="FILEexecutable" KeyPath="yes" Source="$(var.PaddockDesktop.TargetDir)PaddockDesktop.exe" />
     </Component>
     <Component Id="CMPEnityframework" Guid="{596A608E-53AA-4131-92F3-5B1EA065AEC9}">
      <File Id="FILEentityframework" KeyPath="yes" Source="$(var.PaddockDesktop.TargetDir)EntityFramework.dll" />
     </Component>
     <Component Id="CMPMahapps" Guid="{2434F3AF-00C0-4363-9DCD-D631656D275D}">
      <File Id="FILEMahapps" KeyPath="yes" Source="‪$(var.PaddockDesktop.TargetDir)MahApps.Metro.dll" />
     </Component>
     <Component Id="CMPinteractivity" Guid="{1179CC18-8BD6-42D0-AE4D-35FB6B4F5750}">
      <File Id="FILEinteractivity" KeyPath="yes" Source="$(var.PaddockDesktop.TargetDir)System.Windows.Interactivity.dll" />
     </Component>
   </ComponentGroup>
 </Fragment>

Ошибка отображается в выводе сборки как:

    C:\Program Files (x86)\WiX Toolset v3.8\bin\candle.exe -d"DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\\" -dSolutionDir=G:\aa\ -dSolutionExt=.sln -dSolutionFileName=PaddockDesktop.sln -dSolutionName=PaddockDesktop -dSolutionPath=G:\aa\PaddockDesktop.sln -dConfiguration=Release -dOutDir=bin\Release\ -dPlatform=x86 -dProjectDir=G:\aa\PaddockSetup\ -dProjectExt=.wixproj -dProjectFileName=PaddockSetup.wixproj -dProjectName=PaddockSetup -dProjectPath=G:\aa\PaddockSetup\PaddockSetup.wixproj -dTargetDir=G:\aa\PaddockSetup\bin\Release\ -dTargetExt=.msi -dTargetFileName=PaddockSetup.msi -dTargetName=PaddockSetup -dTargetPath=G:\aa\PaddockSetup\bin\Release\PaddockSetup.msi -dPaddockDesktopService.Configuration=Release -d"PaddockDesktopService.FullConfiguration=Release|x86" -dPaddockDesktopService.Platform=x86 -dPaddockDesktopService.ProjectDir=G:\aa\PaddockDesktopService\ -dPaddockDesktopService.ProjectExt=.csproj -dPaddockDesktopService.ProjectFileName=PaddockDesktopService.csproj -dPaddockDesktopService.ProjectName=PaddockDesktopService -dPaddockDesktopService.ProjectPath=G:\aa\PaddockDesktopService\PaddockDesktopService.csproj -dPaddockDesktopService.TargetDir=G:\aa\PaddockDesktopService\bin\x86\Release\ -dPaddockDesktopService.TargetExt=.exe -dPaddockDesktopService.TargetFileName=PaddockDesktopService.exe -dPaddockDesktopService.TargetName=PaddockDesktopService -dPaddockDesktopService.TargetPath=G:\aa\PaddockDesktopService\bin\x86\Release\PaddockDesktopService.exe -dPaddockDesktop.Configuration=Release -d"PaddockDesktop.FullConfiguration=Release|x86" -dPaddockDesktop.Platform=x86 -dPaddockDesktop.ProjectDir=G:\aa\PaddockDesktop\ -dPaddockDesktop.ProjectExt=.csproj -dPaddockDesktop.ProjectFileName=PaddockDesktop.csproj -dPaddockDesktop.ProjectName=PaddockDesktop -dPaddockDesktop.ProjectPath=G:\aa\PaddockDesktop\PaddockDesktop.csproj -dPaddockDesktop.TargetDir=G:\aa\PaddockDesktop\bin\x86\Release\ -dPaddockDesktop.TargetExt=.exe -dPaddockDesktop.TargetFileName=PaddockDesktop.exe -dPaddockDesktop.TargetName=PaddockDesktop -dPaddockDesktop.TargetPath=G:\aa\PaddockDesktop\bin\x86\Release\PaddockDesktop.exe -out obj\Release\ -arch x86 Product.wxs
    C:\Program Files (x86)\WiX Toolset v3.8\bin\Light.exe -out G:\aa\PaddockSetup\bin\Release\PaddockSetup.msi -pdbout G:\aa\PaddockSetup\bin\Release\PaddockSetup.wixpdb -cultures:null -contentsfile obj\Release\PaddockSetup.wixproj.BindContentsFileListnull.txt -outputsfile obj\Release\PaddockSetup.wixproj.BindOutputsFileListnull.txt -builtoutputsfile obj\Release\PaddockSetup.wixproj.BindBuiltOutputsFileListnull.txt -wixprojectfile G:\aa\PaddockSetup\PaddockSetup.wixproj obj\Release\Product.wixobj
    G:\aa\PaddockSetup\Product.wxs(41,0): error LGHT0103: The system cannot find the file '‪G:\aa\PaddockDesktop\bin\x86\Release\MahApps.Metro.dll'.

Файл MahApps.Metro.dll действительно находится в указанном месте. Остальные три файла добавлены правильно и находятся в том же месте, что и файл, вызвавший ошибку.

Я просмотрел другие вопросы stackoverflow: ошибка проекта Wix в сборке TFS, которая показывает проблема похожая на мою. Я не понял предоставленного решения TFS, а длина моего пути намного меньше 255 символов. Есть еще одна ссылка WiX не удалось загрузить файл, ошибка LGHT0103 . Решение кажется простым, но я не мог понять, как изменить $(var.PaddockDesktop.TargetDir) на sys.SOURCEFILEDIR.

Я не могу понять, почему некоторые файлы из одной папки будут добавлены, а другие не будут добавлены, даже если они находятся в одной папке.

Обратите внимание: PaddockDesktop — это проект WPF в том же решении, что и установщик Wix. Он нацелен на процессор x86.

Спасибо за вашу помощь заранее.


person Tsuro Na Gudo    schedule 17.10.2014    source источник


Ответы (1)


Я установил Wix3.9, и он скомпилировался правильно. Не уверен, в чем проблема, но, вероятно, это была ошибка в Wix3.8.

person Tsuro Na Gudo    schedule 04.11.2014