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

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

目录

一、ClickOnce应用程序发布配置二、URL传参应用

一、ClickOnce应用程序发布配置

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

签名-为程序集签名 → 取消勾选

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

安全性-这是完全可信的应用程序 →勾选

发布-发布文件夹位置

发布-安装文件夹

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

发布-随每次发布自动递增修订号 →勾选

发布-应用程序文件 →检查依赖项是否被包含

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

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

二、URL传参应用

必须通过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

{

///

/// 获取简单URL参数

///

///

public static string GetQueryString()

{

if (ApplicationDeployment.IsNetworkDeployed)

{

if (ApplicationDeployment.CurrentDeployment.ActivationUri != null)

{

return ApplicationDeployment.CurrentDeployment.ActivationUri.Query;

}

}

return null;

}

///

/// 对URL进行解析并返回键值对字典

///

///

public static Dictionary GetQueryStringParameters()

{

var queryString=ClickOnceHelper.GetQueryString();

if (string.IsNullOrEmpty(queryString))

{

return null;

}

var nameValueCollection = HttpUtility.ParseQueryString(queryString, Encoding.Default);

var dictionary = new Dictionary();

foreach (var key in nameValueCollection.AllKeys)

{

dictionary.Add(key, nameValueCollection.Get(key));

}

return dictionary;

}

}

}

💡 相关推荐

人休眠是什麼意思
365705

人休眠是什麼意思

📅 07-26 👀 2317
跳舞毯能减肥吗?让你在娱乐中跳出好身材
365足球体育网站

跳舞毯能减肥吗?让你在娱乐中跳出好身材

📅 07-21 👀 4177
天天酷跑赵云高分搭配 天天酷跑赵云好不好用