Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
管理权限:Winforms vs WPF_Wpf_Winforms_Uac - Fatal编程技术网

管理权限:Winforms vs WPF

管理权限:Winforms vs WPF,wpf,winforms,uac,Wpf,Winforms,Uac,我一直在将Winforms应用程序移植到WPF,并注意到以下关于管理权限的内容。 应用程序使用“ProcessStartInfo”启动命令行exeternal应用程序,作为其执行的一部分。Winforms应用程序没有应用程序清单,并且正确运行该应用程序。 但是,除非我授予WPF应用程序管理权限,否则WPF版本将无法正确启动外部应用程序。() 我不想这样做,因为UAC的确认对话框有点烦人。 我尝试添加'ProcessStartInfo'动词=“runas”,但没有效果 有人知道为什么Winform

我一直在将Winforms应用程序移植到WPF,并注意到以下关于管理权限的内容。 应用程序使用“ProcessStartInfo”启动命令行exeternal应用程序,作为其执行的一部分。Winforms应用程序没有应用程序清单,并且正确运行该应用程序。 但是,除非我授予WPF应用程序管理权限,否则WPF版本将无法正确启动外部应用程序。()

我不想这样做,因为UAC的确认对话框有点烦人。 我尝试添加'ProcessStartInfo'动词=“runas”,但没有效果


有人知道为什么Winforms版本可以,但WPF版本需要管理员权限吗?仅供参考。外部应用程序处理文件并将输出文件写入programdata目录中的文件夹)

从Wpf应用程序启动的外部进程似乎没有访问ProgrammData文件夹的权限,尽管父应用程序有。(是的,我确实需要写入PRGRAMDATA中的文件夹。我有需要使用数据的系统服务,而这些服务不了解用户…)


通过让外部应用程序写入Environment.SpecialFolder.ApplicationData,然后让父应用程序将文件从Environment.SpecialFolder.ApplicationData移动到programdata。。。不建议在Winforms应用程序中写入程序文件。如果您可以控制这些系统服务,请修改它们以从
Environment.SpecialFolder.CommonApplicationData
文件夹获取数据,此位置不是特定于用户的,并且在整个系统中共享。然后,可执行文件将其输出写入
环境.SpecialFolder.CommonApplicationData



ProgramData位于何处?如果它在程序文件下,那么WinForms和WPF应用程序都应该具有写入它的管理员权限。

请使用“编辑”链接修改原始问题,然后删除此答案。Alexy,我根本不打算写入程序文件。Environment.SpecialFolder.CommonApplicationData是指下ProgramData文件夹的名字对象Windows7@user457588,您的第二个应用程序写入其输出的文件夹的默认权限是否已更改?您的旧WinForms组合在同一台机器上仍然可以正常工作吗?查看应用程序写入数据的文件夹的权限以及这些文件的权限。这可能会说明这个问题。@user457588您必须检查父应用程序和外部进程需要具有写入权限的文件夹的访问权限。您可能需要修改默认权限,以确保一切正常工作,这应该在安装程序中完成。