如何从CAB文件创建MSI?

Ken*_*isa 5 installation windows-installer cab setup-project crystal-reports

我需要将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
Run Code Online (Sandbox Code Playgroud)

Cos*_*rvu 1

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