【问题标题】:How do I prevent prerequisite files from being duplicated in the app deployment folder?如何防止先决条件文件在应用部署文件夹中重复?
【发布时间】:2010-10-05 15:43:11
【问题描述】:

我有一个 .NET 3.5 SP1 WinForms 应用程序。我已经为 ClickOnce 部署设置了以下设置:

  • 发布到位置:\\fileserver\installers\myapp\
  • 先决条件:Windows Installer 3.1、.NET Framework 3.5 SP1
  • 从以下位置下载先决条件:\\fileserver\installers\common\
  • 应用程序可离线使用(安装到添加/删除程序和开始菜单)

我们的用户很可能没有互联网访问权限或尚未安装 3.5。由于它们都将位于公司 Intranet 上,因此我们已将必要的安装程序放在他们都可以访问的网络共享位置。

在缺少 .NET 3.5 的机器上测试安装时,一切正常。它安装了 prereqs 和应用程序,它启动没有问题。

问题是每次我部署应用程序(通过发布按钮)时,Visual Studio 2008 都会坚持将所有必备文件/文件夹从我的开发 PC 复制到网络位置(installers\myapp)。这导致我的 20MB 应用程序在文件夹中大约有 200MB。这有效地复制了所有内容,因为 ~200MB prereqs 已经在 installers\common 文件夹中。不过,正如我所说,它安装得很好。如果我删除 VS 放在 myapp 文件夹中的先决条件,它甚至可以正常安装,大概是因为安装程序无论如何都从公共位置获取它们(如先决条件对话框中指定的那样)。

这可能是一个微不足道的问题,因为没有任何问题并且可以正常工作,但它很烦人,原因有两个:

  1. 它会减慢部署速度,因为每次我向应用程序发布一个小的更改时,我都必须通过网络传输 200 多兆的数据
  2. 在我们的文件服务器上浪费空间

我可以通过每次删除文件夹来解决第二个问题,但这本身就是一个烦人的额外步骤。

【问题讨论】:

    标签: winforms clickonce publishing prerequisites


    【解决方案1】:

    您可以做的一件事是使用 Bootstrapper Manifest Generator 推出自己的先决条件。将 URL 设置为要提供部署的位置。然后将VS中的选项设置为“从供应商位置下载”。

    它将从您在 BMG 中设置的 URL 下载部署,并且不会在您每次发布 ClickOnce 应用程序时部署先决条件。

    【讨论】:

    • 你试过了吗?虽然还没更新,但我发现还是可以的。
    猜你喜欢
    • 2021-08-01
    • 2014-08-27
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多