4
所以,我写了一个代码,它使用了一些Microsoft Sql服务器DLL,这些DLL依赖于一些C++库。最初代码在客户机上不工作,但是当我安装C++ Redistributable Package时,它工作正常。C++可再发行组件包与WIX
我的问题是如何安装这些依赖与我的代码一起。我正在使用WIX来安装该软件。
感谢, 阿里
所以,我写了一个代码,它使用了一些Microsoft Sql服务器DLL,这些DLL依赖于一些C++库。最初代码在客户机上不工作,但是当我安装C++ Redistributable Package时,它工作正常。C++可再发行组件包与WIX
我的问题是如何安装这些依赖与我的代码一起。我正在使用WIX来安装该软件。
感谢, 阿里
这样做:
首先获得的C++可再发行合并模块(MSM文件)。通常它们位于合并模块文件夹(c:\ProgramFiles\Common Files\Merge Modules
)(用于win x64 C:\ Program Files(x86)\ Common Files \ Merge模块)中。他们的名字基于架构(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。
我试过了,它没有工作。它仍然给错误VC80.CRT未安装。我可以在安装程序中添加完整的Redistributable软件包吗? – Ali
您可以使用[WiX引导程序刻录](http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn)来运行可执行文件重做程序。此外,我建议检查已安装redist的位置以及安装后SQL Server DLL的位置。 –