如何从 CAB 文件创建 MSI?

发布于 2024-10-17 21:34:38 字数 1115 浏览 0 评论 0原文

我需要向我的用户推出 Crystal Reports Active X 打印控件,因为他们无法访问自己的计算机来自行安装它。理想情况下,我想通过 MSI 来完成此操作,我可以通过组策略推出该 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

I need to push out a Crystal Reports Active X Print Control to my users, as they do not have access to their own machines to install it themselves. Ideally I'd like to do this via an MSI that I can push out via group policy.

Below is the .inf file from within the CAB. From what I've read, I believe I can repackage this in a "setup project" in Visual Studio, but I'm looking for some advice on how to go about that.

[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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

李不 2024-10-24 21:34:38

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

MSI packages can deploy CABs only if the CAB information is stored in the MSI database (files and folders). So the recommended approach would be to extract the CAB content and add it in a MSI manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文