【问题标题】:How to install an INF file with InstallShield LE?如何使用 InstallShield LE 安装 INF 文件?
【发布时间】:2012-07-18 07:51:13
【问题描述】:

我们有一个应用程序,我们正在使用 InstallShield LE(Visual Studio 2010 附带的那个)来管理应用程序的安装。

作为安装的一部分,我需要安装一个 INF 文件,以便应用可以与调制解调器通信

如何让 InstallShield LE 执行此操作?这可能吗?如果没有,是否可以使用完整版的 InstallShield?

【问题讨论】:

    标签: inf installshield-le


    【解决方案1】:

    转到自定义操作->添加启动可执行文件的新操作。对于工作目录,您可以输入“SystemFolder”,对于文件名和命令行输入:

    rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 .\<file>.inf
    

    返回处理 - 同步(忽略退出代码)

    然后将此操作包含在安装序列中的某个位置。我相信这应该可以解决问题。我正在使用不同版本的 install shield 写这篇文章,但我相信它应该仍然适用。

    编辑:关于如何安装信息文件的行来自here

    DaveDev 稍后编辑:

    这行得通。只是为了说明需要做什么,我已经包含了屏幕截图(因为每张图片可以节省我 1000 个字,对吧?)

    首先,inf 文件需要包含在安装程序配置的 Files 部分下的“SystemFolder”部分中:

    其次,在Custom Actions部分,需要填写如下字段。这实际上就是@izomorphius 所说的一切,但对于那些不熟悉该产品的人来说,这更清楚一点:

    完成后,构建和部署,setup.exe 应该处理 inf 文件的安装。

    【讨论】:

    • 嗨@izomorphius,谢谢你,但我不认为它对我有用。在我的版本中,我似乎没有“添加启动可执行文件的新操作”的选项。作为参考,这是我看到的屏幕截图:i.imgur.com/pCRmG.png - 锁定符号表示我在 LE 版本中没有该功能。
    • 并且“新的exe选项”被禁用了? Uninstall Existing 的类型是什么?
    • 抱歉,看了一会我发现它在有锁符号的地方被禁用,但在没有锁符号的地方却没有。我可以从那里添加一个新的 exe 作为“新的自定义操作”,看来我可以添加您所指的选项,例如i.imgur.com/nbEYu.png.. 另外,我不确定卸载 - 我仍然需要弄清楚这是否可能。
    • 嗯,卸载将以类似的方式发生,但您需要知道如何使用 rundll32 来卸载 inf。对此无能为力,抱歉 - 也许浏览网页。
    • 这是他骗的,谢谢。我已经更新了您的答案,概述了我为使其对我有用所做的工作。