是否可以介绍ClickOnce功能以现有的应用程序?

该方案是:1.0版本已经安装上的客户的楼宇。我想给他们一个新的安装将升级为1.1,这已ClickOnce功能,从而使未来的升级"轻松".

除,是否有任何其他办法解决这种问题?

P.S.:原来的应用程序的开发与 Visual Studio2005年 (那是.网2.0).我在使用 Visual Studio2008 现在。

有帮助吗?

解决方案

不,这是不可能的标准ClickOnce部署方案。

ClickOnce是沙盒上安装客户端。它不知道关于1.0版本已经安装。它只是要检查,看其是否 GUID 已经通过安装击和如果以更新,但只有如果以前的版本曾部署过ClickOnce.

在你的情况下,如果用户安装1.1版本,两个版本将安装。1.0版将不会更新的,因为ClickOnce不知道有关联,因为这是部署通过不同的方法。如果他们不想1.0版了,他们将需要删除它。一旦你得到了1.1版部署通过ClickOnce,随后的更新,将正常工作。

不要认为ClickOnce为什么你在"包括",认为它作为一个方法的部署。

或者:

我应该澄清,你在找什么是不可能的标准ClickOnce部署。但是,你提到你打算把他们送一个初始的设置文件。在这种情况下,你可能有一个解决办法,这是可能的:

  1. 脚本设置文件中删除的1.0版安装自动
  2. 脚本设置文件启动的ClickOnce安装。

用于随后的更新,简单地点的用户的"纯粹的"ClickOnce安装和更新做工精细。

其他提示

请确保在您的客户端环境非常彻底地测试出你的ClickOnce部署。我在这里省略的细节,但也有不少问题的ClickOnce。我一直在支持3.5年ClickOnce应用程序,并遇到了许多问题清单,有这么更新正确安装等手动删除沙盒存储文件夹 - 如果你为ClickOnce问题,你会发现相当多的网上搜索在MSDN论坛和其他地方的一些问题,其中许多MS似乎并不想解决,因为他们一直以来的Visual Studio 2005中打开。

此外,要知道在ClickOnce的一个潜在的疑难杂症的前.NET 3.5 SP1。如果不从 CA有自己的软件部署证书通过客户端机器的认可,视觉Studio使用“临时”证书(* .PFX),从创作期满一年。在那之后,后续更新版本可能不会安装,并会向用户显示有关证书过期可怕的消息。微软修复了这个在.net 3.5 SP1,但你不得不挖通了发行说明,发现已不再需要临时或永久证书的意见。所以 - 如果你没有一个公共CA证书,你会在一段时间来支持这个应用程序,然后确保你在.NET 3.5 SP1

根据您的情况的复杂性,因为你问其他的解决方案,我们结束了使用“滚你自己”的办法,是这样的。

每个更新版本递增根据需要将组件版本。

生成包含自定义步骤来自动生成与新组件版本的文件。

在部署项目拷贝的版本文件与MSI的输出目录。

每个时间所安装的应用运行时,它在部署文件夹的版本文件自身的版本进行比较的版本。如果它们不同,退出应用程序并启动MSI,这是我们设置为自动删除旧版本的应用程序。

这是一个“穷人的ClickOnce的”为在没有应用程序部署工具AVL任何(甚至不是AD应用广告),所以我们就做了一个环境。同样,这种方法可能不适合你足够复杂,但它为我们工作得很好。

好运。

最好的方法我知道将来向他们发送安装的程序:

  1. 卸载前的版本
  2. 启动ClickOnce应用程序居住在网。

有了这个,你会有一个合理的升级经验,并从那里出,ClickOnce可以处理的升级。

我觉得在这种情况下,“最简单”的解决办法是只使用ClickOnce部署的1.1版本,并根据您的应用程序的新版本的一部分有某种形式的首轮标志默认的配置文件,当它到达由用户第一次运行时,看到的是第一运行标志,它看起来为以前的版本,在任何现有配置设置的副本,然后自动卸载以前的版本。

这需要你做一些节目,但它是我看中了在以前的工作做类似的任务升级实用的应用程序使用ClickOnce的地方没有,之前的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top