因此,我编写了一个使用一些 Microsoft Sql 服务器 dll 的代码,这些 dll 依赖于一些 C++ 库。最初,代码在客户端机器上无法运行,但当我安装 C++ Redistributable Package 时,它运行良好。
我的问题是如何将这些依赖项与我的代码一起安装。我正在使用 WIX 安装软件。
谢谢,阿里
因此,我编写了一个使用一些 Microsoft Sql 服务器 dll 的代码,这些 dll 依赖于一些 C++ 库。最初,代码在客户端机器上无法运行,但当我安装 C++ Redistributable Package 时,它运行良好。
我的问题是如何将这些依赖项与我的代码一起安装。我正在使用 WIX 安装软件。
谢谢,阿里
做这个:
首先获取 C++ 可再发行组件(MSM 文件)的合并模块。通常它们位于 Merge Modules 文件夹 ( c:\ProgramFiles\Common Files\Merge Modules
) 中(对于 win x64 C:\Program Files (x86)\Common Files\Merge Modules)。它们的名称基于架构(32/64 位)和 VC++ 版本。
在<DirectoryRef>
目标目录的标签中添加<Merge>
具有以下属性的节点:
<DirectoryRef>
<Merge
Id="MSVCRedist" DiskId="1" Language="0"
SourceFile="Microsoft_VC90_CRT_x86.msm"/>
</DirectoryRef>
添加<Feature>
:
<Feature
Id="VCRedist" AllowAdvertise="no" Display="hidden" Level="1"
Title="Visual C++ 9.0 Runtime"/>
<MergeRef>
在定义中添加对先前添加<Merge>
部分的引用<Feature>
:
<MergeRef Id="MSVCRedist"/>
该示例已从此处提取。