4

因此,我编写了一个使用一些 Microsoft Sql 服务器 dll 的代码,这些 dll 依赖于一些 C++ 库。最初,代码在客户端机器上无法运行,但当我安装 C++ Redistributable Package 时,它​​运行良好。

我的问题是如何将这些依赖项与我的代码一起安装。我正在使用 WIX 安装软件。

谢谢,阿里

4

1 回答 1

6

做这个:

首先获取 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"/>

该示例已从此处提取。

于 2012-06-29T13:10:39.873 回答