【问题标题】:How can I deploy a non .net application with ClickOnce?如何使用 ClickOnce 部署非 .net 应用程序?
【发布时间】:2012-06-15 00:17:43
【问题描述】:

是否可以使用 ClickOnce 部署非 .net 应用程序?我真的很喜欢 ClickOnce 的自动更新功能,因此我希望能够使用它来部署我的所有应用程序,但并不是我所有的应用程序都是用 .net 制作的。

【问题讨论】:

    标签: .net deployment clickonce


    【解决方案1】:

    不,您不能像使用 C# 一样使用 ClickOnce。 ClickOnce 的一项要求是应用的入口点必须是托管代码。

    但是,您可以将任何文件与托管代码应用一起部署。标准的解决方法是创建一个 stub .NET exe 来简单地启动您的非托管应用程序。然后使用 ClickOnce 部署所有这些文件(托管 exe、非托管 exe 和依赖项)。

    您可能需要使用 Mage 来创建 ClickOnce 部署,因为 Visual Studio 只会创建千篇一律的部署,并且不允许您配置所有可用选项。

    【讨论】:

    • 我知道这已经过时了,您所说的完全有道理,但您能否指出文档中的哪个位置说 ClickOnce 要求入口点应用程序必须是托管代码?
    • 我看了一下,没找到。我很确定这是一篇 MSDN 文章。但是,与其浪费时间试图找到官方文档,不如尝试一下。使用法师创建一对清单只需要几分钟。
    • 是的,我试过了,但似乎没有用。我无法设置入口点。但是我总是有做错事的机会,所以我在研究之前说不能做。感谢您花时间检查文档,我也找不到。
    【解决方案2】:

    是的,这显然是可能的——至少对于 Visual c++ 应用程序来说是这样。它还在 VC++ 的 ClickOnce 页面上说,如果您的 dll 是 C# 项目的一部分,那么您也可以使用 C# 项目的 ClickOnce 部分来部署这些依赖项。这表明您也可以使用一个小型模拟应用程序来托管部署。

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2023-03-18
      • 2010-10-20
      相关资源
      最近更新 更多