【发布时间】:2011-04-15 18:57:15
【问题描述】:
我有一个运行并显示托盘图标的 C# 应用程序。我的托盘应用程序有一个安装程序,它在安装后启动应用程序。安装程序需要管理员权限,而托盘图标必须以正常权限运行。我的安装程序目前破坏了这一点 - 当已安装的托盘应用程序启动时,它会从安装程序进程继承管理员权限。
作为我的安装程序的一部分,我将启动一个 C# 应用程序来执行一些自定义工作。这个小应用程序当前通过调用来启动托盘应用程序:
Process.Start(@"path/to/my/tray/app.exe");
有没有办法使用当前用户的权限而不是授予安装程序的提升权限来调用托盘应用程序?
我听说这样做的推荐方法是在安装程序周围有一个包装器 EXE,它启动安装程序,然后启动已安装的程序。如果可能的话,我想避免这种情况。
我正在使用 WiX 构建 MSI 安装程序,因此我也接受直接从 WiX/MSI 工作的解决方案。
【问题讨论】:
标签: c# windows-7 permissions uac