所以,我写了一个使用一些Microsoft Sql服务器dll的代码,这些dll依赖于一些C ++库。最初代码不能在客户端的机器上运行,但是当我安装C ++ Redistributable Package时,它工作正常。
我的问题是如何将这些依赖项与我的代码一起安装。我正在使用WIX来安装该软件。
谢谢, 阿里
答案 0 :(得分: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"/>
示例已被解除from here。