Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否使用ClickOnce安装程序进行用户验证?_C#_Wpf_Deployment_Clickonce - Fatal编程技术网

C# 是否使用ClickOnce安装程序进行用户验证?

C# 是否使用ClickOnce安装程序进行用户验证?,c#,wpf,deployment,clickonce,C#,Wpf,Deployment,Clickonce,我正在创建WPF windows桌面应用程序。 我需要做一些验证,在安装应用程序时,如果验证失败,我需要停止安装,否则完成安装 这可以通过单击一次实现吗? 我发现了这篇文章:用于创建自定义安装程序。但它需要创建一个单独的应用程序,并使用自定义安装程序类来安装该应用程序。 是否可以覆盖默认安装程序?否,使用ClickOnce执行类似操作的唯一方法是使用已找到的客户安装程序 我建议在安装时对经过身份验证的用户执行任何类型的验证,因为两个用户可以使用同一台机器,一个允许安装,另一个不允许安装。允许安装

我正在创建WPF windows桌面应用程序。 我需要做一些验证,在安装应用程序时,如果验证失败,我需要停止安装,否则完成安装

这可以通过单击一次实现吗?

我发现了这篇文章:用于创建自定义安装程序。但它需要创建一个单独的应用程序,并使用自定义安装程序类来安装该应用程序。
是否可以覆盖默认安装程序?

否,使用ClickOnce执行类似操作的唯一方法是使用已找到的客户安装程序

我建议在安装时对经过身份验证的用户执行任何类型的验证,因为两个用户可以使用同一台机器,一个允许安装,另一个不允许安装。允许安装的用户可以这样做,不允许安装的用户可以运行它


按照mclaassen的建议运行应用程序时,最好对用户进行身份验证。

作为一种解决方法,您可以将安装分为两个步骤

首先为完整应用程序进行标准安装,让我们调用安装a

开发一个从DB读取权限的应用程序,如果是有效用户,则运行安装,如果不是,则运行卸载


为此新的权限检查器应用程序进行标准安装,安装后让它运行此应用程序。

什么样的验证?我需要根据用户的windows凭据检查用户身份验证。在应用程序启动时验证凭据会简单得多,如果用户不是有效用户,则不允许用户使用应用程序。这是典型的做事方式。(也就是说,在我的工作中,我们使用IBM Process Designer,它只适用于某些人,但任何人都可以安装,如果他们没有授权,他们将无法使用它)如果您需要验证诸如“用户是否安装了.NET 4.0?”或者应用程序运行所需的其他东西,然后您可以在安装程序中执行该操作。不允许安装url而不允许安装url如何?关闭匿名身份验证,然后打开windows身份验证,以便知道用户是谁,如果不是正确的用户集,则重定向。它可能是从命令行检索参数的控制台应用程序。不需要用户交互。