- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的目标是真正实现单击一次(我猜是两次)启动我的 ClickOnce 应用程序。该应用程序有一些需要安装的先决条件。 Microsoft 提供的确保安装它们的正常方法包括让用户决定他是否具备先决条件,然后下载并安装一个“setup.exe”来安装它们并运行 ClickOnce 应用程序。这包括下载 EXE 文件(单击一次)、运行它(单击两次),然后在安装先决条件后,再次单击以运行 ClickOnce 应用程序。
我正在尝试将此过程减少到一两次点击:- 单击我网站上指向 ClickOnce .application
文件的链接。- 再次点击运行。
我制作了另一个 ClickOnce 应用程序,其中包含一个 setup.exe。它检查是否安装了先决条件,如果安装了,它会自动运行其他 ClickOnce 应用程序。如果没有,它会运行包含的 setup.exe,然后运行其他 ClickOnce 应用程序。
我的问题是,当我尝试从这个应用程序运行另一个 ClickOnce 应用程序时,它只是打开我的 Web 浏览器并下载 .application 文件而不运行它。
我正在尝试使用以下内容从我的 C# 代码中启动 ClickOnce 应用程序:
Process.Start(ApplicationURL);
我只是想让它在 ApplicationURL 自动启动应用程序。有没有办法跳过我看到的浏览器参与?
(我的问题与 Stack Overflow 问题非常相似 Run a ClickOnce application from a webpage without user action )。
最佳答案
正如评论中所指出的,您可以启动 iexplore.exe
进程来启动 ClickOnce 应用程序,而不依赖于默认浏览器。您还可以使用 dfshim.dll
以与 Windows 资源管理器启动它相同的方式启动 ClickOnce 应用程序。
Process.Start("rundll32.exe", "dfshim.dll,ShOpenVerbApplication " + ApplicationURL);
网上还有一些其他文章讨论使用这个策略,但我没有找到任何关于 dfshim.dll、ShOpenVerbApplication 的官方文档。
更新
正如另一个 Stack Overflow 问题提到的,您还可以使用 dfshim.dll
的 LaunchApplication
命令,即 documented on Microsoft's site .但是,该命令在某些旧版本的 .NET Framework 中不可用。
关于c# - 从另一个 ClickOnce 应用程序启动 ClickOnce 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744927/
我有一个使用 ClickOnce 部署的 WinForms 应用程序。在应用程序项目中,我将一些文件标记为“内容”,它们在“发布”设置的“应用程序文件”对话框中也标记为“数据文件”。我还有一些标记为“
理想情况下,调用 setup.exe 时根本不会弹出任何窗口,但最好是让用户不必在安装先决条件和其他选项时单击“确定”。甚至可以使用 ClickOnce ? 最佳答案 附加文件 附加组件(文件和 DL
我部署了一个新版本的 ClickOnce 应用程序 我在测试客户端机器上打开我的 ClickOnce 应用程序 不提供升级 我关闭我的 ClickOnce 应用程序并重新打开它,现在提供升级 为什么我
我们部署了一个名为“Its Our App”的 Winforms 应用程序。 人们将其称为 IOA。我想保留快捷方式的全名,但我看到许多用户在键盘上按下 Windows 键,输入 IOA,然后奇怪地说
好的,我有一个 Windows Forms使用 ClickOnce 发布的应用程序到http://MyDevComputer1/DevPublishFolder/ ,所以部署链接是 http://My
.NET ClickOnce 应用程序被部署到 C:\Documents and Settings\\Local Settings\Apps\2.0 的子文件夹中。在开发过程中,我们倾向于进行大量的小
自 ClickOnce每个配置文件而不是每台计算机安装,有没有办法同时从多个配置文件卸载单个 ClickOnce 客户端应用程序? 我们有一个 ClickOnce 应用程序,我们希望使用标准 MSI
对于不同的环境,我们有多个具有不同配置文件的相同程序集的部署。我们将这些打包成具有不同部署标识(Program_ENV1、Program_ENV2 等)的单独 ClickOnce 部署。 应用程序标识
我有一个简单的 WinForms 应用程序,我正在使用 ClickOnce 在内部部署它。主应用程序有一个依赖程序集,该程序集有一些 xml 模板文件在构建属性中标记为“内容”和“始终复制”,但是如果
有没有办法在不提示用户的情况下安装 ClickOnce 应用程序?我说的是用户第一次运行应用程序时得到的“运行/不运行”。 似乎有一些线索here但我相信这是关于跳过“海拔”(UAC)和安全提示,而不
我有一个 ClickOnce 应用程序,在它安装到客户端机器上后,它第一次启动时会创建文件夹 X、Y 和 Z。 现在,当用户开始使用应用程序时,他/她会在这些文件夹中创建各种文件。稍后应用程序的新版本
有没有一种方法(hacky 可以)允许用户返回到 ClickOnce 的先前版本网络部署的应用程序? 我查看了文档和API,似乎没有办法。您可以选择性地选择是否要更新,但一旦更新,似乎就无法返回。 最
我了解 ClickOnce 应用程序可以自动更新。但是,Microsoft 提供的选项并不是我想要的。 如果我在应用程序启动前检查版本,启动会比较慢。 如果我在应用程序启动后检查版本,直到下次启动时我
在我的 ClickOnce c# 应用程序中,如何判断用户是否刚刚更新了应用程序?我愿意在用户下载更新后显示发行说明或更改日志。 我知道如何以编程方式(拼写?)检测更新是否可用,并手动执行更新。那时我
为我的 ClickOnce 应用程序的用户提供降级到以前版本的方法的推荐方法是什么? (以防新版本不能在他们的机器上运行) 最佳答案 在 ClickOnce 部署设置中,将最低要求版本保留为旧版本。这
我了解 ClickOnce 应用程序可以自动更新。但是,Microsoft 提供的选项并不是我想要的。 如果我在应用程序启动前检查版本,启动会比较慢。 如果我在应用程序启动后检查版本,直到下次启动时我
众所周知,当我们双击已安装的 clickonce 应用程序时,会弹出一个“clickonce 屏幕”,上面写着“正在验证系统要求”。然后如果服务器中有更新版本,clickonce 更新本地安装的版本,
我即将部署一个 ClickOnce 应用程序供内部使用。我将亲自将应用程序分发给一组受信任的用户。我知道可以对 ClickOnce list 进行签名,但是当用户信任来源时是否需要签名? 不签署 li
我们非常接近以 ClickOnce 部署的形式发布我们的第一个产品,但是有几个烦人的问题我似乎无法解决...... 我知道在 ClickOnce 部署 list 中,ClickOnce 需要 Wind
我正在为客户端开发一个 Windows .NET 4 桌面应用程序,并且正在考虑使用 ClickOnce从客户的网站部署它。我还计划从他们的网站部署应用程序版本升级。 我已经阅读了 StackOver
我是一名优秀的程序员,十分优秀!