Crystal reports 如何从CAB文件创建MSI?

Crystal reports 如何从CAB文件创建MSI?,crystal-reports,installation,windows-installer,setup-project,cab,Crystal Reports,Installation,Windows Installer,Setup Project,Cab,我需要推出一个Crystal Reports Active X Print控件给我的用户,因为他们自己无法访问自己的机器来安装它。理想情况下,我希望通过MSI完成这项工作,我可以通过集团政策推出MSI 下面是CAB中的.inf文件。从我所读到的内容来看,我相信我可以在VisualStudio的“安装项目”中重新打包,但我正在寻找一些关于如何进行的建议 [version] signature="$CHICAGO$" AdvancedINF=2.0 [Add.Code]

我需要推出一个Crystal Reports Active X Print控件给我的用户,因为他们自己无法访问自己的机器来安装它。理想情况下,我希望通过MSI完成这项工作,我可以通过集团政策推出MSI

下面是CAB中的.inf文件。从我所读到的内容来看,我相信我可以在VisualStudio的“安装项目”中重新打包,但我正在寻找一些关于如何进行的建议

[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

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

我从该路径开始,但正在寻找有关如何将CAB转换为MSI的更多信息。似乎我可以让我的安装项目写入注册表、添加文件、执行文件等。我想我需要知道a)这个.inf文件是否是CAB文件的指令列表,如果不是,是什么?和b)这个.inf文件告诉操作系统做什么,以便我可以在我的安装程序中做同样的事情。我想这解释了inf文件: