我制作了一个 Windows 服务应用程序,我想创建一个安装文件。当用户通过我们的网站 URL 和查询参数请求应用程序时,(例如:http://test.com/setup.exe?id=1212)我需要将当前的 app.config 键值更改为该查询参数值。
当新版本准备就绪时,我还需要自动更新此应用程序。因此,ClickOnce 或 squirrel for windows 可能是一个选择,但我找不到实现上述任务的方法。
以下问题有点相似,但不能解决这个问题:
*我们如何在 ClickOnce 应用程序中检索查询字符串信息?
* ClickOnce:如何*通过安装程序*将查询字符串值传递到我的应用程序?
我怎样才能实现这个目标?
1. 首先,允许将查询字符串参数传递给应用程序。
![enter image description here](https://i.stack.imgur.com/Takp8.jpg)
2.像这样访问查询字符串
private NameValueCollection GetQueryString()
{
if (ApplicationDeployment.IsNetworkDeployed)
{
try
{
string rawQueryString = String.Empty;
rawQueryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
NameValueCollection queryString;
try
{
queryString = HttpUtility.ParseQueryString(ApplicationDeployment.CurrentDeployment.ActivationUri.Query);
}
catch (Exception ex)
{
throw new Exception("Unauthorized access!");
}
return queryString;
}
catch (Exception ex)
{
if (ApplicationDeployment.CurrentDeployment == null)
{
throw new Exception("Deployment error");
}
else if (ApplicationDeployment.CurrentDeployment.ActivationUri == null)
{
throw new Exception("Unable to read data");
}
else
{
throw new Exception("Error with deployment: " + ex.Message);
}
}
}
else
{
throw new Exception("This application may not be accessed directly");
}
}
3.更新app.config
App.Config 更改值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)