Wix Toolset 4 文件收割时WIX0211 GUID路径错误问题求助
Wix Toolset 4收割文件安装到C:\Testing目录的问题
我在Visual Studio 2022中使用Wix Toolset 4及WixToolset.Heat NuGet包收割文件,目标是将文件安装至C:\Testing目录。
我的目录配置片段(位于独立文件Folders.wxs)如下:
<Fragment> <StandardDirectory Id="TARGETDIR"> <Directory Id="INSTALLFOLDER" Name="Testning"/> </StandardDirectory> <Fragment>
编译时触发WIX0211错误:提示路径(如TARGETDIR\Testing\MyFile.txt)未根植于标准目录,生成的组件不符合自动生成GUID的条件。若禁用自动生成GUID,又会收到“组件必须指定GUID”的错误。
若将StandardDirectory的Id改为ProgramFiles6432Folder,编译可通过,但无法将文件安装到C:\Testing目录。
wixproj文件内的Heat配置如下:
<ItemGroup> <HarvestDirectory Include="C:\Test\Test Installer\Test" Outputs="$(ProjectDir)Files.wxs"> <ComponentGroupName>HarvestedComponents</ComponentGroupName> <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> <SuppressRootDirectory>true</SuppressRootDirectory> <PreprocessorVariable>TargetSourceDir</PreprocessorVariable> </HarvestDirectory> </ItemGroup>
更新:
尝试使用Wix Toolset 3附带的heat.exe生成包含收割文件的wxs文件,但仍无法将文件安装至C:\Testing目录。
更新2:
发现是错误快捷方式导致安装失败,使用Wix Toolset 3收割工具的临时解决方案生效,但需要修改生成文件的命名空间。
内容的提问来源于stack exchange,提问作者Fredrik Karlsson
相关产品推荐
相关产品推荐

