需要将 Wix 项目集成到日常构建中

Posted

技术标签:

【中文标题】需要将 Wix 项目集成到日常构建中【英文标题】:Need to integrate Wix projects into daily builds 【发布时间】:2013-12-09 12:37:58 【问题描述】:

我。我已经关注Link 并设置了

<WixToolPath>E:\where\cplusplus\thirdparty\windows\wix\WiX Toolset v3.7\bin\</WixToolPath>
<WixCATargetsPath Condition=" '$(WixCATargetsPath)' == '' ">E:\where\cplusplus\thirdparty\windows\wix\v3.x\Wix.CA.targets</WixCATargetsPath>
<WixTasksPath>E:\where\cplusplus\thirdparty\windows\wix\WiX Toolset v3.7\bin\WixTasks.dll</WixTasksPath>

在设置上述属性后构建项目时,我看到我的项目从C:\Program Files (x86)\WiX Toolset v3.7\SDK 中提取Microsoft.Deployment.WindowsInstaller.dll,而不是我希望从E:\where\cplusplus\thirdparty\windows\wix\WiX Toolset v3.7\SDK 中提取它。 查看输出日志:

Searching for custom action entry points in CustomAction.dll
  Loaded dependent assembly: C:\Program Files (x86)\WiX Toolset v3.7\SDK\Microsoft.Deployment.WindowsInstaller.dll
  Install=CustomAction!CustomAction.CustomActions.Install
  UnInstall=CustomAction!CustomAction.CustomActions.UnInstall

在 CustomAction.dll 中搜索嵌入式 UI 类 修改 SfxCA.dll 存根

我还需要设置哪些附加属性?

【问题讨论】:

【参考方案1】:

从您提供的信息中很难看出引用该 DLL 的内容。也许拥有整个 wixproj 会更容易。

但是,请检查您的所有项目,很可能其中一个项目引用了 Microsoft.Deployment.WindowsInstaller.dll。 就我而言,我有一个参考:

<Reference Include="Microsoft.Deployment.WindowsInstaller, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad, processorArchitecture=MSIL">
    <HintPath>$(WIX)bin\Microsoft.Deployment.WindowsInstaller.dll</HintPath>
</Reference>

在这种情况下,将属性 $(WIX) 更改为您的路径。最好使用 &lt;WixToolPath&gt; 的路径创建一个属性,例如 &lt;WixSDKPath&gt;E:\where\cplusplus\thirdparty\windows\wix\WiX Toolset v3.7\SDK\&lt;/WixSDKPath&gt; 然后在 HintPath 中使用该属性: &lt;HintPath&gt;$(WixSDKPath)\Microsoft.Deployment.WindowsInstaller.dll&lt;/HintPath&gt;

另外你忘了加&lt;WixTargetsPath&gt;

【讨论】:

以上是关于需要将 Wix 项目集成到日常构建中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Vuforia Unity 2017.3 构建 OC iOS 项目作为框架嵌入/集成到 Swift iOS 项目中

Maven,切换到不同的配置文件

将 cppcheck 集成到构建系统中

将 maven 项目集成到 svn 版本的 jenkins 中

如何将外部库集成到 Cocos Android 项目中

将 Xcode 项目集成到另一个项目中