使用查询字符串参数从 url 下载自定义设置

Download customized setup from url with the query string parameters

我做了一个 windows 服务应用程序,我想创建一个安装文件。当用户通过我们的网站 url 使用查询参数请求应用程序时,(例如:http://test.com/setup.exe?id=1212)我需要将当前的 app.config 键值更改为该查询参数值。

我还需要在新版本准备就绪时自动更新此应用程序。因此 windows 的 ClickOnce 或 squirrel 可能是一种选择,但因为我找不到实现上述任务的方法。

以下问题有点相似,但没有解决这个问题: * How can we retrieve query string information in a ClickOnce Application? * ClickOnce: How do I pass a querystring value to my app *through the installer*?

我怎样才能做到这一点?

1.首先,启用要传递给应用程序的查询字符串参数。

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 change value