如何从CAB文件创建MSI?

时间:2011-02-16 21:41:44

标签: crystal-reports installation windows-installer setup-project cab

我需要将Crystal Reports Active X打印控件推送给我的用户,因为他们无法访问自己的计算机来自行安装。理想情况下,我想通过MSI来做到这一点,我可以通过组策略推出。

以下是CAB中的.inf文件。从我读过的内容来看,我相信我可以在Visual Studio中的“安装项目”中重新打包它,但我正在寻找一些关于如何实现这一目标的建议。

[version]
    signature="$CHICAGO$"   
    AdvancedINF=2.0   
[Add.Code]
    PrintControl.dll=PrintControl.dll
    csprintdlg.dll=csprintdlg.dll
    pvlocale-1-0.dll=pvlocale-1-0.dll   
    xerces-c_2_7.dll=xerces-c_2_7.dll
    msvcr80.dll=msvcr80.dll
    Microsoft.VC80.CRT.manifest=Microsoft.VC80.CRT.manifest
    LCIDTable.xml=LCIDTable.xml
[PrintControl.dll]
    file-win32-x86=thiscab   
    CLSID={B7DA1CA9-1EF8-4831-868A-A767093EA685}
    FileVersion=13,0,0,99
    RegisterServer=yes 
[pvlocale-1-0.dll]
    file-win32-x86=thiscab  
    FileVersion=13,0,0,99
[csprintdlg.dll]
    file-win32-x86=thiscab  
    FileVersion=13,0,0,99
[xerces-c_2_7.dll]
    file-win32-x86=thiscab  
    FileVersion=14,0,0,716
[msvcr80.dll]
    file-win32-x86=thiscab
    FileVersion=8,0,50727,4053
[Microsoft.VC80.CRT.manifest]
    file-win32-x86=thiscab
[LCIDTable.xml]
    file-win32-x86=thiscab

1 个答案:

答案 0 :(得分:0)

仅当CAB信息存储在MSI数据库(文件和文件夹)中时,MSI包才能部署CAB。因此,推荐的方法是提取CAB内容并手动将其添加到MSI中。