是否可以从.wixproj将自定义参数传递给light.exe?

时间:2016-05-05 10:07:21

标签: visual-studio wix

我最近升级了一个用Visual Studio 2015构建的项目。我使用Wix为我的项目构建了安装程序,并将Microsoft CRT合并模块与我的项目一起发布。有一个已知问题,light.exe可以发出有关Microsoft提供的合并模块中使用的某些GUID的警告:

light.exe : warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: File, Column:
File, Key(s): api_ms_win_crt_filesystem_l1_1_0.dll.71E1EC1A_562B_3AD1_94CD_84420ED4073F [v:\VS2015\DataNow\Installer\To
olsInstaller\Toolbox.wixproj]

我已经读过这可能是这些合并模块(http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html)的已知问题,并且警告是良性的。但是,我想通过传递来禁止警告:

-sw 1076

到light.exe但我无法弄清楚如何使用.wixproj visual studio Wix文件将自定义参数传递给light.exe。

有谁知道如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

Ahaha,

我终于找到了解决方案。我不需要将参数传递给light.exe,因为.wixproj中有一个部分可用于抑制这些警告:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    <SuppressAllWarnings>False</SuppressAllWarnings>
    <OutputPath>$(SolutionDir)Publish\$(Platform)\$(Configuration)\</OutputPath>
    <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
    <LinkerAdditionalOptions>"$(WixToolPath)difxapp_$(Platform).wixlib"</LinkerAdditionalOptions>
    <SuppressSpecificWarnings>1055;1056;1076</SuppressSpecificWarnings>
    <SuppressIces>ICE80;ICE82</SuppressIces>
  </PropertyGroup>