Deployment 单击一次检查更新而不执行应用程序

Deployment 单击一次检查更新而不执行应用程序,deployment,clickonce,installation,Deployment,Clickonce,Installation,我在一家服务机构工作,我们内部工具的用户经常断开连接。通常情况下,执行维修任务的维修工程师被某些内部工具的过时版本“搁浅” 这些工具是使用ClickOnce发布VS2010.NET4部署的。如果用户在仍然连接到公司网络的情况下运行其所有应用程序,他们将收到一个新版本可用的通知。随着各种工具数量的增加,某些应用程序不更新的可能性也会增加 是否可以通过批处理文件或其他方式自动化此过程? 所以工程师们只需要在连接到corporate nw时运行一个文件,就可以获得他们安装的工具的所有最新版本 添加:

我在一家服务机构工作,我们内部工具的用户经常断开连接。通常情况下,执行维修任务的维修工程师被某些内部工具的过时版本“搁浅”

这些工具是使用ClickOnce发布VS2010.NET4部署的。如果用户在仍然连接到公司网络的情况下运行其所有应用程序,他们将收到一个新版本可用的通知。随着各种工具数量的增加,某些应用程序不更新的可能性也会增加

是否可以通过批处理文件或其他方式自动化此过程? 所以工程师们只需要在连接到corporate nw时运行一个文件,就可以获得他们安装的工具的所有最新版本

添加:


一个更简单的说法是,在企业网上运行“类似Windows update的东西”,但对于内部ClickOnce应用程序则是如此。

这是一个非常有趣的问题。我想不出一个快速的方法来做到这一点,但这绝对是可能的

我将创建另一个ClickOnce应用程序,其任务是更新其他ClickOnce应用程序。此应用程序需要每个应用程序的
.application
文件的url。如果所有的工程师都应该拥有所有的应用程序,那就很容易了。如果没有,也许您可以查看他们的“开始”菜单,找到所有ClickOnce应用程序参考文件。这些文件包含url

接下来,只需启动url并传递查询字符串参数。。。
http://server/MyApp/MyApp.application?UpdateOnly=true

在应用程序启动时,您可以检查query string参数,并在应用程序运行时使用
UpdateOnly=true
关闭应用程序


一个旁注。如果将每个应用程序所需的最低版本设置为最新版本,用户将不会收到“新版本”对话框的提示。看起来您可能想这样做,否则用户仍然需要注意并进行大量单击。

非常有趣的问题。我想不出一个快速的方法来做到这一点,但这绝对是可能的

我将创建另一个ClickOnce应用程序,其任务是更新其他ClickOnce应用程序。此应用程序需要每个应用程序的
.application
文件的url。如果所有的工程师都应该拥有所有的应用程序,那就很容易了。如果没有,也许您可以查看他们的“开始”菜单,找到所有ClickOnce应用程序参考文件。这些文件包含url

接下来,只需启动url并传递查询字符串参数。。。
http://server/MyApp/MyApp.application?UpdateOnly=true

在应用程序启动时,您可以检查query string参数,并在应用程序运行时使用
UpdateOnly=true
关闭应用程序


一个旁注。如果将每个应用程序所需的最低版本设置为最新版本,用户将不会收到“新版本”对话框的提示。似乎您希望这样做,否则用户仍然需要注意并进行大量单击。

是的,并非所有人都有所有工具,我也希望进行依赖性检查(以防某些新版本提供Office互操作,因此突然需要新的可再发行文件)。这些应用程序处于相同的“制度”之下,因此它们可以实施某种分发策略,比如在“开始”菜单中的位置等。当然,你是对的,当批量运行时,这些应用程序应该是无人值守、静默更新。然而,我不认为定期更新应该是沉默的。如果突然停止工作,他们应该知道这是否与更新有关。经过一些思考,我认为所有的应用程序都有一个“/dieI瞬间”命令行选项。然后让客户端脚本按顺序使用此选项启动所有应用程序。它不会沉默,用户体验会留下一些不尽如人意的地方,但在其他方面也不错。我自然会将cmd选项称为“/UpdateOnly”之类,但它基本上会立即终止应用程序。你认为呢?我认为这是一个很好的权衡。不是很完美,但比现在好得多,而且你可以很快做到。是的,不是所有人都有所有的工具,我也希望进行依赖性检查(以防某些新版本提供Office互操作,因此突然需要新的可再发行文件)。这些应用程序处于相同的“制度”之下,因此它们可以实施某种分发策略,比如在“开始”菜单中的位置等。当然,你是对的,当批量运行时,这些应用程序应该是无人值守、静默更新。然而,我不认为定期更新应该是沉默的。如果突然停止工作,他们应该知道这是否与更新有关。经过一些思考,我认为所有的应用程序都有一个“/dieI瞬间”命令行选项。然后让客户端脚本按顺序使用此选项启动所有应用程序。它不会沉默,用户体验会留下一些不尽如人意的地方,但在其他方面也不错。我自然会将cmd选项称为“/UpdateOnly”之类,但它基本上会立即终止应用程序。你认为呢?我认为这是一个很好的权衡。不完美,但比现在好得多,而且你可以很快做到。