|
1
18
ClickOnce将使用您发送给他们的任何版本。如果您向他们发送一个旧版本,他们将回滚到那个旧版本。 早在五月份,我的朋友大卫就写了一篇关于如何在每个用户的基础上实现这一点的文章。我们可以让每个用户使用不同的版本。应用程序甚至告诉数据库用户想要哪个版本,这样他们理论上可以更改他们的版本,然后简单地重新启动应用程序。 |
|
2
81
通过更改服务器清单文件,可以在服务器端恢复到旧版本。当客户端重新启动应用程序时,它将看到它的版本与服务器所说的“当前”版本不同,并将下载新版本。此服务器清单文件通常总是指向最新版本,但不必指向最新版本。 以下是如何更改它(我使用Visual Studio 2008发布的)。其他版本可能具有不同的发布文件夹结构)。
在publish.htm所在的文件夹中,
XML
文档调用
在同一位置
|
|
|
3
7
您可以进入“添加/删除应用程序”并选择您的应用程序,然后选择获取最后一次安装。 |
|
|
4
2
你可以使用 MAGEUI 回滚到服务器上的以前清单版本。 Check this out . |
|
5
1
如果查看部署位置,您将看到每个以前的版本,在一个附加了版本号的单独文件夹中,以及附加了版本号的部署清单。 您可以将其中任何一个重命名为当前部署,下次更新该应用程序时,它将拉入您回滚到的版本。 |
|
6
1
我了解ClickOnce版本检查算法如下:
|
|
7
0
如果你认识出版商,这可以通过反思来实现。 URI 以及部署和应用程序的名称、版本语言公钥令牌和处理器体系结构。 下面的代码将尝试回滚“coolapp.app” ClickOnce 应用。如果它无法回滚,它将尝试卸载它。
|
|
8
0
我只需要在我的实时生产服务器上做一个这样的操作,并且拥有所有这些笔记是很好的。我的解决方案有点不同,我想把它作为一个补丁添加进去。在进行生产部署之前,我总是预先备份整个包含文件夹。我可以将整个文件夹结构复制回原始状态,一切正常。 此方法的注意事项:
|
|
|
9
0
刚刚使用它来回滚在Visual Studio 2017中开发的ClickOnce应用程序。在我的例子中,根文件夹中只有两个文件,一个名为[applicationname].manifest,另一个名为setup.exe。 [applicationname].manifest包含对当前版本号的数字引用,但每个引用都链接到PublicKeyToken值,因此我不愿意手动编辑它。 因此,在application files文件夹中,在包含要回滚到的版本的子文件夹下,我找到了另一个[applicationname].manifest,我将其复制到根文件夹(备份了原始文件)。 就这样。这对我很有效,而且是一个非常简单的解决方案。不过,我没有使用最低要求的版本,所以不能说这是否会影响它。 |