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的位置。 –