首页 > 编程语言 >发布ClickOnce应用程序步骤与URL传参应用

发布ClickOnce应用程序步骤与URL传参应用

时间:2024-05-27 22:56:32浏览次数:18  
标签:传参 URL 应用程序 勾选 发布 参数 ClickOnce

目录

 

一、ClickOnce应用程序发布配置

  1. 签名-为ClickOnce清单签名 → 取消勾选

  2. 签名-为程序集签名 → 取消勾选
    在这里插入图片描述

  3. 安全性-启用ClickOnce安全设置 →勾选

  4. 安全性-这是完全可信的应用程序 →勾选
    在这里插入图片描述

  5. 发布-发布文件夹位置

  6. 发布-安装文件夹

  7. 发布-该应用程序可以脱机使用 →勾选

  8. 发布-随每次发布自动递增修订号 →勾选
    在这里插入图片描述

  9. 发布-应用程序文件 →检查依赖项是否被包含 在这里插入图片描述

  10. 发布-系统必备组件
    根据该应用程序的运行环境,选取系统必备组件,一般为系统默认勾选
    指定系统必备组件的安装位置,如果勾选第一项,在安装ClickOnce应用程序时,会从微软官网下载运行环境必备组件,如果不能访问外网,或网络不稳定,会导致下载失败。建议勾选第二项,即使是局域网软件也可以正常安装运行组件。

在这里插入图片描述
11. 发布-更新
应用程序应该检查更新 →勾选
应用程序启动前 →勾选。勾选此项,可以让ClickOnce应用程序在启动前自动检查更新,以保证每次运行都是最新的版本。
指定该应用程序要求的最低版本 →勾选。同时需设置版本号需与发布的版本号一致,每次都需要手动设置一下,可保证客户端应用程序可以在启动时自动下载更新并安装,否则会容易被用户手动跳过版本更新。
在这里插入图片描述
12. 发布-选项
部署-发布后打开部署网页 →取消勾选。如果勾选了,则会在发布结束自动打开“部署网页”里填写的自动生成的静态网页,应该网页界面比较丑陋,一般不使用该网页。
部署-使用“.deploy”文件扩展名 →取消勾选。如果勾选了,则可导致应用程序安装可能不成功,提示验证不通过或部署清单缺失之类。
在这里插入图片描述
13. 发布-选项
清单-允许用应用程序传递URL参数 →勾选。为从外部启动ClickOnce应用程序传入参数提供可能。
在这里插入图片描述

二、URL传参应用

  1. 必须通过IE浏览器打开ClickOnce应用程序Web地址 *.application 并传入URL参数
    例:http://192.168.0.79/download/publish/MyEntry.application?id=22
    URL参数与Get请求参数写法一致
    因为必须通过IE浏览器进行请求,如果在其他浏览器打开该地址,会被当作保存到本地的下载方法,URL参数会丢失。

    通过C#代码使用IE打开该地址,写法如下:

    Process.Start("iexplore.exe",@"http://192.168.0.79/download/publish/MyEntry.application?id=22");
    

    应用程序内解析该参数的方法:

    using System.Collections.Generic;
    using System.Deployment.Application;
    using System.Text;
    using System.Web;
    
    namespace MyEntry.ClickOnce
    {
        public static class ClickOnceHelper
        {
            /// <summary>
            /// 获取简单URL参数
            /// </summary>
            /// <returns></returns>
            public static string GetQueryString()
            {
    
                if (ApplicationDeployment.IsNetworkDeployed)
                {
                    if (ApplicationDeployment.CurrentDeployment.ActivationUri != null)
                    {
                        return ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
                    }
                }
                return null;
            }
    
            /// <summary>
            /// 对URL进行解析并返回键值对字典
            /// </summary>
            /// <returns></returns>
            public static Dictionary<string, string> GetQueryStringParameters()
            {
                var queryString=ClickOnceHelper.GetQueryString();
    
                if (string.IsNullOrEmpty(queryString))
                {
                    return null;
                }
                var nameValueCollection  = HttpUtility.ParseQueryString(queryString, Encoding.Default);
                var dictionary = new Dictionary<string, string>();
                foreach (var key in nameValueCollection.AllKeys)
                {
                    dictionary.Add(key, nameValueCollection.Get(key));
                }
                return dictionary;
            }
    
        }
    }
    
  2.  
   

标签:传参,URL,应用程序,勾选,发布,参数,ClickOnce
From: https://www.cnblogs.com/webenh/p/18216752

相关文章

  • OpenQA.Selenium.WebDriverException The HTTP request to the remote WebDriver serv
    OpenQA.Selenium.WebDriverException:“TheHTTPrequesttotheremoteWebDriverserverforURLhttp://localhost:xxxx/sessiontimedoutafter60seconds.”1.在谷歌浏览器上加上中括号中的内容[--remote-debugging-port=9222]2.使用管理员模式打开谷歌浏览器3.重新生成......
  • 调用三方接口,outputStream.write传参数中参数怎么写,在转化成字节数组之前,是A=a&B=b的
    当您调用第三方接口并通过OutputStream.write()方法发送参数时,如果接口期望的是application/x-www-form-urlencoded类型的参数(常见于POST请求中提交表单数据),那么您确实需要将参数转换成A=a&B=b这样的格式,然后再将这个字符串转换成字节数组。以下是转换和发送这种类型参数的步骤:......
  • 调用三方接口,outputStream.write传参数中参数怎么写
    当您调用一个第三方接口并需要使用OutputStream.write()方法发送数据时,您通常需要将数据转换为字节格式,因为write()方法接受的是字节(byte)、字节数组(byte[])或字节数组的一个子序列作为参数。以下是几种常见的情况和相应的示例:发送字节数组:如果您已经有了一个字节数组,您可以直接......
  • 【Java】短 URL 生成器设计:百亿短 URL 怎样做到无冲突?
    一、问题解析在社交媒体上,人们经常需要分享一些URL,但是有些URL可能会很长,比如:https://geek.qq.org/hybrid/pvip?utm_source=geek-pc-discover-banner&utm_term=geek-pc-discover-banner这样长的URL显然体验并不友好。我们期望分享的是一些更短、更易于阅读的短URL,比如像http......
  • 宝塔:续签SSL证书报错Verification failed, domain name resolution error or verifica
    网站SSL证书因为忘了续签,导致过期后无法进行续签,点击续签验证报错:Verificationfailed,domainnameresolutionerrororverificationURLcannotbeaccessed! 解决方法:1.点击SSL,在面板中选择“Let'sEncrypt”,1.1、选择DNSVerification(Wildcardsupport);1.2、......
  • EAS_WEB获取传参,获取上下文,获取控制单元
    varimp=JavaImporter();imp.importPackage(Packages.java.lang);imp.importPackage(Packages.org.apache.commons.lang3);imp.importPackage(Packages.com.kingdee.bos.webframework.context);imp.importPackage(Packages.com.kingdee.eas.util.app);imp.importPackage(......
  • Charles 复制运用curl 指令【Copy cURL Request】
         curl-H"Host:localhost.charlesproxy.com:8080"-H"Cache-Control:max-age=0"-H"Upgrade-Insecure-Requests:1"-H"User-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10_15_7)AppleWebKit/537.36(KHTML,likeGec......
  • Java根据URL下载文件到本地的2种方式(大型文件与小型文件)
    1.小型文件推荐使用2.大型文件推荐使用总结 各位小伙伴是否有使用java,根据url下载文件到本地的需求,以下介绍两种方式1.小型文件推荐使用代码解析首先创建了一个URL对象website,用来表示远程文件的地址。然后创建了一个ReadableByteChannel对象rbc和一个FileOutputStr......
  • curl命令排查请求慢
    给业务提供了一个https的接口,测试反馈,接口慢。程序之前部署过,接口本身并不慢,怀疑是网络问题。使用如下命令:curl-k-w"DNS解析时长:%{time_namelookup}s\n建立TCP时长:%{time_connect}s\n请求到服务器响应时长:%{time_pretransfer}s\n请求到服务器开始传输时长:%{time_starttransfe......
  • 使用 PHP cURL 实现 HTTP 请求类
    类结构创建一个HttpRequest类,其中包括初始化cURL的方法、不同类型的HTTP请求方法,以及一些用于处理响应头和解析响应内容的辅助方法。初始化cURL首先,创建一个私有方法initCurl,用于初始化cURL句柄并设置一些常用的选项。classHttpRequest{privatefunctionini......