问题标签 [clickonce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9516 浏览

visual-studio-2008 - 如何不签署 ClickOnce 清单

我有一个在 Visual Studio 2008 中创建的Office 2007(特别是Outlook 2007)插件。

当我取消选中“签署 ClickOnce 清单”选项,然后发布时,它会自动重新检查该选项。

我在同一个解决方案中有一个常规的Windows 窗体项目,允许我在未选中的情况下发布。

为什么不允许我取消选中签名选项?

0 投票
2 回答
2831 浏览

.net - 使用 VBScript 启动 ClickOnce Deployed Windows 应用程序

我有一个 ClickOnce 部署的应用程序,我想从 VBScript 启动,类似于在以下示例中启动 Microsoft Word:

问题是我不知道将什么参数传递给CreateObject函数来启动我的应用程序。我在哪里可以找到安装在我的 PC 上的应用程序的主列表/调用以启动它们的快捷方式?

0 投票
4 回答
3372 浏览

.net - 如果我有最低要求的版本,如何回滚 clickOnce?

我们决定在 clickOnce 应用程序清单中使用 minimumRequiredVersion,现在当我们尝试在用户启动应用程序时回滚到以前的版本时,它无法启动。它说应用程序清单的版本比所需版本早,用户无法使用该应用程序。如果没有 minimumRequiredVersion,我们没有这个问题,但我们想使用它。

0 投票
4 回答
6964 浏览

.net - 如何使用 Click Once 构建单实例应用程序?

我需要有一个单实例应用程序(根据这个答案),但它需要通过单击一次来部署。

问题是我要求单击一次不会自动检测更新并在应用程序运行时尝试加载较新版本。如果它正在运行,那么我需要激活另一个实例。通常,在选择单击一次链接时,它的第一件事是尝试找到更新。我想在启动正常更新过程之前拦截它并检查已经运行的实例。

有谁知道这在 Click Once 部署方案中是如何实现的?

0 投票
3 回答
2387 浏览

deployment - ClickOnce - 覆盖内容文件

我有一个使用 ClickOnce 部署的解决方案。

它由一个应用程序、几个引用的程序集和一个 SQL Server Compact 数据库组成。

还有一个程序集不被主应用程序引用,而只是在运行时加载。该程序集需要与应用程序一起部署在与应用程序二进制文件相同的目录中。

我设置 Visual Studio 以在编译后将“插件”程序集复制到 UI 项目的 \bin\debug(或 \bin\release)目录。

然后我将该文件添加到 UI 项目中,而不是作为参考,而只是作为文件。我将构建操作设置为“内容”,这样它就会显示在 UI 项目的“属性/发布”对话框中。

当我第一次发布应用程序时,它就像一个魅力。但是后来我更新了插件程序集,甚至给了它一个不同的版本号并再次发布,结果发现程序集没有更新,但是第一个上传的仍然在使用。(即使在没有事先安装的干净计算机上)。

我进行了一些挖掘,发现程序集(LibComposites.dll)被复制到clickonce应用程序存储其二进制文件的目录作为它们存储数据文件的目录。

在这两种情况下,第一个发布的版本。

总而言之,我有一个引用一些程序集的应用程序:

Control.exe 引用 --> LibLLC.dll、LibDataLayer.dll、LibLLCExtenders.dll
在运行时加载 --> LibComposites.dll(也引用 LibLLC.dll)

我需要将新版本的 LibComposites.dll 部署到与每个发布的应用程序相同的目录中。

为什么该程序集的第一个发布版本仍在使用

如何强制 LibComposites.dll 被每次发布覆盖?

0 投票
1 回答
1486 浏览

c# - 运行 ClickOnce 部署的 WPF 应用程序版本时的奇怪行为

我们有一个基于导航的 WPF 应用程序。当直接从 Visual Studio 运行时,它工作正常,或者即使我们将文件复制到另一个目录或另一台计算机并在那里运行它。

我们使用 ClickOnce 在 Internet 上部署应用程序,大多数情况下这不会导致任何问题。

但是,它时不时地完全冻结,您会看到经典的“应用程序 xxxx 没有响应”和无响应的 UI。

这不会每次都发生,只有在使用已部署的版本时才会发生。(即使我们在开发机器上测试它)。

在我输入此消息时,我们多次启动和退出已部署的版本,以尝试重现该行为......有时它会连续发生 10 次,然后在接下来的 20 次中会正常工作。没有迹象表明可能是什么原因造成的。(只是设法让它发生)

只是为了向您展示我的意思,这是一个屏幕截图:

[ 替代文字][空]

双击 ListBox 中的第一项时会发生这种情况:

应用程序只是永远保持这种状态,不会抛出异常。

LLCOverViewPage 的构造函数如下所示:

updateControllerInfo() 方法在页面上显示信息,然后调用一个方法来获取先前从 SQL Compact 3.5 数据库加载的更多信息:

就是这样。构建页面时不会发生其他任何事情。

无一例外,而且由于应用程序没有崩溃,我几乎没有什么可以继续找出问题所在。

SQL Compact 数据库存储在用户应用程序文件夹中,因此部署版本使用与普通版本相同的数据库,没有区别。

所以,为了清楚起见,这个问题只发生在部署的版本中!(在装有 Windows XP 和 Windows Vista 的不同机器上测试)

有什么想法可能导致这样的事情发生,或者我可能会尝试什么来追查这个问题?

更新

使用一些好的旧调试(将日志信息写入文件),我能够确定我的所有代码都成功执行,并且应用程序仅在此之后冻结。

因此,如果您再看一下正在创建的页面的构造函数:

在 this.updateControllerInfo() 之后是应用程序不时冻结的地方。这会超出我的代码吗?也许是 WPF 错误?

更新 2 我检查了 Windows 中的应用程序事件日志,它是这样说的:

二进制文本说:未知,猜我完全被狗了......

更新 3 如果我将列表框的事件处理程序代码更改为:

它告诉我应用程序仅在导航时冻结!

更新 4 我将一些事件处理程序连接到 NavigationService。当事件被触发时,处理程序简单地写入日志。结果如下所示:

17:51:35 导航 17:51:35 导航 17:51:35 加载完成

那么为什么这会被遗忘呢?

0 投票
3 回答
248 浏览

clickonce - clickonce 在哪里获取 cd 文件

我创建了一个 clickonce 部署并将其发布到网站。我想将安装程序(1.0.0 版)放在一张 CD 上,以便分发给客户。在已发布文件夹的路径中创建了一个 setup.exe,但这非常小,不可能是 cd 所需的全部内容。

我把这个传给了一个单独运行 setup.exe 文件的联合开发人员,它告诉他所需的文件丢失了。我应该将哪些文件放在 cd 上,是否有特定的位置?

在通过发布向导时,我选择了此安装程序将进入 cd 的选项。

0 投票
2 回答
528 浏览

clickonce - 修改clickonce的安装弹窗

解决了 clickonce 部署的问题后,客户询问我们是否可以修改安装顺序并美化它们。任何人都可以阐明如何自定义 clickonce 初始安装程序的外观和感觉吗?

0 投票
3 回答
28230 浏览

.net - 单击一次 - 所有用户

如何配置单击一次以为所有用户安装应用程序。在另一个论坛上,我必须“使用 MSI” - 谢谢 - 但如何。此外,第一个安装用户可能不是管理员 - 这可能是一个问题。我希望所有用户都触发更新检查。没有本地存储,它是 WCF 服务的 WPF 客户端。

我们是 XP,内部。

0 投票
5 回答
29099 浏览

c# - 如何续订过期的 ClickOnce 证书?

我需要对一年多没有接触过的 ClickOnce 应用程序进行一些更改,因此证书已过期。

我读过使用新证书发布会使应用程序失败,因为它将使用不同的密钥进行签名。

因此我认为我需要使用相同的证书,但不知道如何更新它。