【问题标题】:How to create a exe that installs a driver如何创建一个安装驱动程序的exe
【发布时间】:2011-04-09 22:02:44
【问题描述】:

我想创建一个非常简单的 .exe 来安装驱动程序。我有一个 .inf(以及所有的 DLL 文件)。该驱动程序适用于 USB 设备。

最终目标是找到一个简单的解决方案来使用我的应用程序安装程序安装驱动程序。安装程序是使用 Visual Studio 2008 安装和部署项目生成的。我相信我的设置和部署项目可以调用一个单独的 exe 来安装驱动程序。

我是这方面的新手,所以我正在寻找分步教程或我能真正理解的东西。

请帮忙:(

编辑

下面的命令行安装驱动就好了。如何将其传输到可以通过 Visual Studio 中的自定义操作启动的 EXE 或 DLL

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

【问题讨论】:

    标签: c# visual-studio installation driver


    【解决方案1】:

    .inf 文件本身不会安装驱动程序吗?

    如果由于某种原因您使用的工具(不像资源管理器)不够聪明,无法知道这就是 inf 的用途,也许您可​​以编写一个小程序来告诉 Windows 资源管理器运行 inf 文件。

    【讨论】:

    • inf 可以通过右键单击并选择“安装”来手动运行。对于 hte 用户而言,手动执行此操作很复杂。出于最终目标中所述的原因,我想要的是一个 *.exe。
    【解决方案2】:

    我相信'start'命令会在命令行运行一个关联的文件。

    所以需要做一个单行脚本(例如 run.cmd 文件):

    start myWordDoc.doc 
    

    该命令将打开 Word 并加载该文档。

    它“应该”对 INF 文件执行相同的操作,如果可以,请告诉我。

    【讨论】:

    • .inf 文件的默认操作是在记事本中打开它们,因此使用“开始”将不起作用。
    【解决方案3】:

    【讨论】:

      【解决方案4】:

      Visual Studio 安装和部署项目的功能相当有限:为您的驱动程序创建安装程序的最简单方法可能是使用 WiX 和 DIFx - 您只需在源文件中添加一个 difx:Driver 标签并使用运行蜡烛/光时的 WixDifxAppExtension 扩展。我从事的项目中的一个示例可以在 http://www.bluestop.org/viewvc/repos/sctpDrv/trunk/wix/ 看到 - 蜡烛/灯光命令位于 Makefile.wixmodule-common.wxs 包含 DIFx 代码。

      WiX 的输出是一个 MSI 文件。如果你想要一个 .exe,我建议使用 dotNetInstaller,它可以在运行 MSI 之前引导任何先决条件。

      【讨论】:

      • 那不会使用 Windows Installer 对吧?我要求“必须使用 Windows Installer 或 Install Shield”。我工作的环境使得改变需求变得很复杂,即使它们已经过时了。
      • WiX 生成 Windows Installer (MSI) 包,但 dotNetInstaller 生成的 .exe 只是标准的 Windows 可执行文件。如果您需要 MSI 并且没有其他依赖项,您可以直接分发它而不使用 dotNetInstaller。如果您确实使用 dotNetInstaller,那么您可以通过使用“/ExtractCAB”参数运行它来从 exe 中获取 MSI 包。
      猜你喜欢
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多