gpt4 book ai didi

c# - ClickOnce 安装程序先决条件 : How to auto-detect required version of Visual C++ Runtime

转载 作者:行者123 更新时间:2023-11-30 13:04:04 24 4
gpt4 key购买 nike

我编写了一个需要安装 Visual C++ 2010 可再发行组件的 C# 应用程序,我正在使用 Visual Studio 中内置的“发布”机制来分发该应用程序——它使用了 Microsoft 的“ClickOnce”安装程序技术.

我发现我需要点击发布页面上的“先决条件”按钮,但是有一个问题。

不知道用户是 x86 位还是 64 位,我必须选中可再发行组件的 x86 和 x64 版本。

但如果 x86 用户安装它,他们会收到错误消息:“系统组件 Visual C++ 2010 运行时库 (x64) 的先决条件检查失败,并显示以下错误消息:”支持安装 Visual C++ 2010 运行时库 (x64)仅在 x64 机器上。”

但是如果我不包含 x64 版本,那么 64 位用户将无法使用安装程序。

另一个问题是一些用户收到错误“在机器上检测到更新版本的 Microsoft Visual C++ 2010 Redistributable”,并且安装程序失败。

这整件事看起来一团糟。 ClickOnce 安装程序的技术不够智能,无法确定用户需要 x86 还是 64 位版本的 C++ 可再发行组件?如果安装了更新的版本,那真的是一个表演障碍吗?

这一切看起来都很脆弱,似乎应该有一个非常简单的修复方法。

最佳答案

ClickOnce 是应用程序的实际部署,而不是 Bootstrap 。发布 ClickOnce 应用程序将创建一个 setup.exe,它是为您安装先决条件的 Bootstrap 。你的问题是先决条件。

您可以使用 Bootstrap list 生成器(或记事本)来创建使 C++ 可再分发到您可以从 Visual Studio/Publish/Prerequisites 对话框中选择的先决条件包所需的 XML 包信息。我建议您以这种方式设置先决条件,并查看 Bootstrapper 文件夹中的其他一些包(如 SQLExpress),看看它们是如何做到这一点的。

关于c# - ClickOnce 安装程序先决条件 : How to auto-detect required version of Visual C++ Runtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com