You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Microsoft Visual Studio Installer Projects安装FTDI驱动的自定义操作问题

你推测的故障原因完全正确,FTDI官方驱动安装包执行完成后默认返回非0退出码,而Visual Studio Installer Projects的自定义操作会将非0返回值判定为执行失败,因此抛出安装包错误提示。以下是两种可直接落地的解决方案:


方案1:使用批处理脚本封装(无需编写C#,操作更简单)

  • 新建一个文本文件,重命名为install_ftdi.bat,写入以下内容:
@echo off
:: 运行FTDI驱动安装包,/S参数代表静默安装,不需要弹出安装界面可保留,需要手动交互就删掉该参数
start /wait CDM212364_Setup.exe /S
:: 强制返回0退出码,避免安装器判定失败
exit 0
  • 将install_ftdi.bat和CDM212364_Setup.exe一同添加到安装项目的「应用程序文件夹」中
  • 右键安装项目 → 视图 → 自定义操作 → 右键「Commit」阶段 → 选择「添加自定义操作」 → 选中刚才加入的install_ftdi.bat
  • 选中刚添加的自定义操作项,在属性面板中将InstallerClass属性改为False,完成配置即可

方案2:使用C#控制台程序封装

如果更偏好使用exe封装,可以用极简的C#代码实现:

  • 新建C#控制台项目,替换默认代码为以下内容:
using System;
using System.Diagnostics;

namespace FtdiInstallWrapper
{
    class Program
    {
        static int Main(string[] args)
        {
            Process ftdiInstall = new Process();
            ftdiInstall.StartInfo.FileName = "CDM212364_Setup.exe";
            // 不需要静默安装就删掉下面这行StartInfo.Arguments的配置
            ftdiInstall.StartInfo.Arguments = "/S";
            ftdiInstall.Start();
            ftdiInstall.WaitForExit();
            // 无论驱动安装返回值是什么,都返回0告知安装器执行成功
            return 0;
        }
    }
}
  • 编译项目得到封装exe,将该exe和FTDI驱动安装包一同添加到安装项目的「应用程序文件夹」
  • 同方案1的后续步骤,将封装exe添加到Commit阶段的自定义操作,修改InstallerClass属性为False即可

注意事项

  • 如果你的应用需要支持32位/64位系统,注意对应匹配FTDI驱动包版本
  • 若需要校验驱动安装结果,可以在封装逻辑中增加退出码判断,仅当驱动返回值为预期的1/0时返回0,其他异常值返回非0即可捕获真实安装故障

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:30:00