我的目标是实际实现一键启动我的ClickOnce应用程序(或者我猜两个).该应用程序具有一些需要安装的先决条件.确保Microsoft安装它们的常规方法是让用户决定是否具有先决条件,并下载并安装"setup.exe",安装它们并运行ClickOnce应用程序.这包括下载EXE文件(单击一下),运行它(两次单击),然后在安装必备软件之后再次单击以运行ClickOnce应用程序.
我正在尝试将此过程减少一到两次: - 单击我的网站上的链接到ClickOnce .application文件. - 再次单击以运行它.
我已经制作了另一个ClickOnce应用程序,其中包含一个setup.exe.它会检查是否已安装先决条件,如果是,则会自动运行其他ClickOnce应用程序.如果没有,它运行包含的setup.exe,然后运行另一个ClickOnce应用程序.
我的问题是,当我尝试从这个运行其他ClickOnce应用程序时,它只是打开我的Web浏览器并下载.application文件而不运行它.
我正在尝试使用以下内容从我的C#代码中启动ClickOnce应用程序:
Process.Start(ApplicationURL);
Run Code Online (Sandbox Code Playgroud)
我只想让它在ApplicationURL上自动启动应用程序.有没有办法跳过我看到的浏览器参与?
(我的问题非常类似于Stack Overflow问题在没有用户操作的情况下从网页运行ClickOnce应用程序).
小智 17
正如评论中所指出的,您可以启动该iexplore.exe过程来启动ClickOnce应用程序,而不依赖于默认浏览器.您也可以使用与Windows资源管理器启动它相同的方式启动ClickOnce应用程序dfshim.dll.
Process.Start("rundll32.exe", "dfshim.dll,ShOpenVerbApplication " + ApplicationURL);
Run Code Online (Sandbox Code Playgroud)
还有一些在线文章讨论使用这种策略,但我没有找到任何dfshim.dll,ShOpenVerbApplication的官方文档.
更新
正如其他Stack Overflow问题所提到的那样,您也可以使用Microsoft的网站上记录dfshim.dll的LaunchApplication命令.但是,某些旧版本的.NET Framework中不提供该命令.
| 归档时间: |
|
| 查看次数: |
7910 次 |
| 最近记录: |