在安装时安装 Visual C++ Redistributables 2005

Posted

技术标签:

【中文标题】在安装时安装 Visual C++ Redistributables 2005【英文标题】:Install Visual C++ Redistributables 2005 while setup install 【发布时间】:2021-07-24 22:50:44 【问题描述】:

在我的 Windows 服务(Visual Studio 安装项目)的安装过程中,我仍然需要安装 Microsoft C++ 2005 Redistributables。我已经有在后台安装这些包的程序。该编程有效。现在我想在安装 Windows 服务时调用这个程序。但是我总是收到错误消息“正在安装另一个程序,请等待安装完成,然后再次尝试安装该软件。”。我已经尝试过 ProjectInstaller 类的所有方法(OnBeforeInstall、OnAfterInstall、Commit)——没有任何效果。但是在默认的先决条件中我不能选择这个包,因为它太旧了。

我该如何解决这个问题?

非常感谢! :)

【问题讨论】:

赶时间,几个链接:About Visual Studio C++ runtime。在 VS 中:右键单击主设置项目,选择 Properties => Prerequisites。 Adding Custom prerequsites to setup project, Creating Bootstrapper Packages. 【参考方案1】:

您可以在安装时按照以下步骤安装Microsoft C++ 2005 Redistributables

    关注 this document 为您的设置项目创建自定义操作。 在安装方法中添加这些代码
    public override void Install(System.Collections.IDictionary stateSaver)
    
        base.Install(stateSaver);

        Process myProcess = new Process();

        myProcess.StartInfo.FileName = @"Your Directory\vcredist_x86.EXE";

        myProcess.StartInfo.Arguments = "/Q";      //install automactically

        myProcess.StartInfo.CreateNoWindow = true;

        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

        myProcess.StartInfo.Verb = "runas";        //run exe as administrator(Important!)

        myProcess.Start();
    

【讨论】:

另一个问题。我想一个接一个地安装 x86 和 x64 Redistributables。我该如何调整这些?不幸的是,我不知道第一次安装何时完成,我可以从第二次开始。有什么诀窍吗? 你可以新建一个action来安装x64包

以上是关于在安装时安装 Visual C++ Redistributables 2005的主要内容,如果未能解决你的问题,请参考以下文章

安装tesserocr时提示error: Microsoft Visual C++ 14.0 is required

通过 pip 安装 lxml 时出错:需要 Microsoft Visual C++ 14.0

尝试安装用 c 编写的包时需要 Microsoft Visual C++ 14.0

网络位置上的 Visual C++ 运行时

在 Visual Studio 上的 C++ 项目中将 NetCDF(通过 vcpkg 安装)与 CMake 一起使用时未解析的外部符号

Python安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答