获取错误candle.exe: error CNDL0103:系统无法找到文件'字体'来源'
本文关键字:文件 来源 字体 exe candle 取错误 error CNDL0103 获取 系统 | 更新日期: 2023-09-27 18:17:54
我使用的是最新版本的wix v3.10.3,同时执行以下命令:
D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC>call "C:'Program Files (x86)'WiX Toolset v3.10'bin'candle.exe" -sw1076 -sw1072 -dDebug -d"ADX_PATH=C:'Program Files (x86)'Add-in Express'Add-in Express .NET for Internet Explorer''" -d"DevEnvDir=C:'Program Files (x86)'Microsoft Visual Studio 11.0'Common7'IDE''" -d"SolutionDir=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP''" -dSolutionExt=.sln -dSolutionFileName=PMP.sln -dSolutionName=PMP -d"SolutionPath=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMP.sln" -dConfiguration=Release -dOutDir=bin'Release' -dPlatform=x86 -d"ProjectDir=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMPSetup'1.0.0''" -dProjectExt=.wixproj -d"ProjectFileName=PMPSetup(1.0.0).wixproj" -d"ProjectName=PMPSetup(1.0.0)" -d"ProjectPath=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMPSetup'1.0.0'PMPSetup(1.0.0).wixproj" -d"TargetDir=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMPSetup'1.0.0'bin'Release''" -dTargetExt=.msi -d"TargetFileName=PMPSetup(1.0.0).msi" -d"TargetName=PMPSetup(1.0.0)" -d"TargetPath=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMPSetup'1.0.0'bin'Release'PMPSetup(1.0.0).msi" -dPMP.Configuration=Release -d"PMP.FullConfiguration=Release|AnyCPU" -dPMP.Platform=AnyCPU -d"PMP.ProjectDir=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP''" -dPMP.ProjectExt=.csproj -dPMP.ProjectFileName=PMP.csproj -dPMP.ProjectName=PMP -d"PMP.ProjectPath=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'PMP.csproj" -d"PMP.TargetDir=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'bin'Release''" -dPMP.TargetExt=.dll -dPMP.TargetFileName=PMP.dll -dPMP.TargetName=PMP -d"PMP.TargetPath=D:'File_Transfer'11-Nov-16'internetexplorer'2000'INTERNET_EXPLORER_SRC'PMP'bin'Release'PMP.dll" -out obj''Release' -arch x86 -ext "C:'Program Files (x86)'WiX Toolset v3.10'bin''WixNetFxExtension.dll" Product.wxs StandardUI.wxs
我得到以下错误:
candle.exe : error CNDL0103 : The system cannot find the file 'Product.wxs' with type 'Source'.
当我使用Visual Studio编译时,我没有得到任何错误,并且构建成功。而通过命令提示符,我得到了上面的错误。
谁能建议如何解决这个问题?
candle.exe
似乎在解析以反斜杠结尾的引用命令行参数时遇到了麻烦。例如,修改如下:
-d"ADX_PATH=C:'Program Files (x86)'Add-in Express'Add-in Express .NET for Internet Explorer''"
:
-d"ADX_PATH=C:'Program Files (x86)'Add-in Express'Add-in Express .NET for Internet Explorer"
同样的问题在您提供的命令中的多个地方存在。
我正在使用这样的宏:
-d"BinariesDir=$(OutputPath)"
我必须把它改成:
-d"BinariesDir=$(OutputPath)."
,这样当它们展开时,它们不会以'
结尾
从您的产品所在的文件夹中运行批处理文件。wxs和Product。Wixobj文件是。我们将批处理文件命名为installer.bat
编辑install .bat:
candle Product.wxs
light Product.wixobj
@pause
将您的installer.bat文件复制到setupproject文件夹中。WXS文件为,其他bin和obj文件夹为。运行installer.bat文件。希望这对你有用。
谢谢
当我没有像这样传递两个扩展dll时,我发现了同样的错误:
-ext "C:'Program Files (x86)'WiX Toolset v3.11'bin''WixUtilExtension.dll"
-ext "C:'Program Files (x86)'WiX Toolset v3.11'bin''WixUIExtension.dll"
这可能是您在引用产品中的某些片段。WXS为空。
等在product.wxs
!--<Feature Id="F_UpdateConnectionString" Title="Updating ConnectionString" Description="Update the Connection String" Level="1">
<ComponentRef Id="SetConfigurationValues" />
</Feature>-->
and insidefragment
<Fragment>
<DirectoryRef Id="INSTALLFOLDER">
<Component Id="SetConfigurationValues" Guid="03D1E734-464F-4A2D-B385-
42DECB86C557">
</Component>
</DirectoryRef>
</Fragment>
在这里我们可以看到组件必须有一些东西来成功构建