【问题标题】:add "Microsoft Access Database Engine 2010 Redistributable" as a prerequisite for clickonce添加“Microsoft Access Database Engine 2010 Redistributable”作为 clickonce 的先决条件
【发布时间】:2012-03-11 16:23:22
【问题描述】:

在我们的解决方案中,我们必须处理读取 xls 和 xlsx 文件。它非常适合我们。

是否可以在 ClickOnce 设置中添加“Microsoft Access Database Engine 2010 Redistributable”(http://www.microsoft.com/download/en/details.aspx?id=13255) 作为先决条件?

这意味着 clickOne 部署应检测是否已安装“Microsoft Access Database Engine 2010 Redistributable”。如果是,则安装它,否则。

我不知道是否可以这样做?如果是,怎么做?

提前致谢。

【问题讨论】:

    标签: c# ms-access installation clickonce


    【解决方案1】:

    我很确定您可以将此可再发行组件添加到 Visual Studio 生成的引导程序包中。 This may help you out. 但是不行,ClickOnce 无法检测是否已安装。

    我认为您可能误解了 ClickOnce 的作用。 ClickOnce 将文件从服务器复制到客户端并保持同步。而已。大多数 ClickOnce 应用程序都具有运行所需的一些先决条件(.NET Framework、C++ 运行时等)。 Visual Studio 将帮助您解决这些问题,并创建一个将所有这些捆绑在一起的引导程序。这与 ClickOnce 无关,只是他们在 VS 中投入的一些东西来帮助您。 Visual Studio 还将为您创建一个 html 页面,其中包含指向 ClickOnce 应用程序和引导程序 exe 的链接;同样,只是 Visual Studio 帮助您,不是 ClickOnce。

    具有一些“智能”的唯一先决条件是 .NET Framework。这是因为生成的 html 页面可以查看浏览器的 UserAgent 字符串并判断安装了哪些版本的框架。对于所有其他先决条件,由您编写代码来处理事情或由用户知道他们是否需要运行安装。

    如果您的应用可以在没有先决条件的情况下启动,您可以编写代码来检查它是否已安装,然后警告用户或下载并启动安装。这已经是你能做到的了。

    【讨论】:

    • 非常感谢阅读您的回答,@codeConcussion。我想知道安装 Microsoft Access Database Engine 2010 Redistributable 是否需要管理权限,我怀疑确实如此。而且我们的大多数用户都没有管理员权限。但是您的回答让我意识到,即使他们不需要管理员权限,只需包含 Engine 2010 就意味着每次都安装它。谁愿意这样做?
    • @Rod 我有一段时间没有考虑 ClickOnce,所以我的知识可能已经过时,所以请验证我所说的任何内容。我不知道 Access 是否需要管理员权限才能安装。不过要注意的是,Access 安装与 ClickOnce 无关。如果标准安装需要管理员权限,则 ClickOnce 无法绕过它。
    • @Rod 其次,不,他们不需要每次都运行安装。他们可以通过两种方式启动应用程序 - 通过运行引导程序或单击 .application 文件的链接。运行引导程序会运行 pre-req 安装并在最后启动应用程序。 .application 文件只是启动应用程序。如果您让 ClickOnce 创建一个开始菜单快捷方式,它会链接到 .application 文件。如果他们再次运行引导程序,则不会发生任何“坏事”。它只是看到 Access 已经安装并且什么都不做。
    猜你喜欢
    • 2010-09-12
    • 2021-09-23
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多