首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UWP不希望以管理员身份执行进程

UWP不希望以管理员身份执行进程
EN

Stack Overflow用户
提问于 2021-07-05 07:06:39
回答 1查看 411关注 0票数 0

我有密码:

代码语言:javascript
运行
复制
// Execute msi
Process process = new Process();
process.StartInfo.FileName = "msiexec";
process.StartInfo.WorkingDirectory = Path.GetDirectoryName(msiPath);
process.StartInfo.Arguments = $"  /passive /i {Path.GetFileName(msiPath)}";
process.StartInfo.Verb = "runas";
process.StartInfo.UseShellExecute = true;
process.Start();
process.WaitForExit();

但我有错误:

此平台不支持UseShellExecute。

或者如果我禁用UseShellExecute

代码语言:javascript
运行
复制
process.StartInfo.UseShellExecute = false;

由于管理权限,程序不执行

哇哦..。如何在UWP中作为管理员执行msi?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 07:58:48

首先,这里提到-如果您在UWP应用程序中这样做,设置ProcessStartInfo.UseShellExecute属性的ProcessStartInfo.UseShellExecute将引发PlatformNotSupportedException。你的行为是意料之中的。第二,UWP应用程序不支持Process.Start法。要从您的UWP应用程序运行exe文件,我建议您使用FullTrustProcessLauncher类

首先,您需要复制exe文件并将其保存在UWP应用程序包中,例如资产文件夹。然后,请转到Manifest文件并添加runFullTrust受限功能.(App能力)。接下来,为UWP项目添加Windows扩展的引用。最后,您可以调用await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();从应用程序中启动exe文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68251943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档