【问题标题】:Remove Security Shield Symbol on Desktop Icon删除桌面图标上的安全盾符号
【发布时间】:2011-09-17 08:14:27
【问题描述】:

我在 C# 4.0 中开发了一个 WPF 应用程序。此应用程序正在安装一些其他应用程序 (MSI)。因此,我对应用程序清单文件进行了以下更改。

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

进行上述更改后,应用程序(app.exe)的桌面快捷方式显示盾牌符号。

有没有办法从应用程序和桌面快捷方式中删除这个盾牌符号?

我见过一些 MSI 和 Setup.exe,他们也在电脑上安装程序,但是盾牌图标没有与他们的快捷图标一起出现。

【问题讨论】:

    标签: wpf c#-4.0 uac


    【解决方案1】:

    由于您所做的清单更改,该盾牌图标存在。防止这种情况的方法是删除这些更改。

    我不确定您是否需要设置该清单以运行 MSI;我相信运行 MSI 本身会提示提升权限,因此您的应用程序本身不需要提升权限。

    或者,您可以让运行 MSI 的代码本身要求管理员权限,而不是让整个应用程序都需要它,这就是清单信息所做的。

    【讨论】:

    • 我正在安装 10 个其他应用程序,因此为了避免每次安装时出现 UAC 提示,我更改了清单文件。有没有其他方法可以按需获取管理员权限?
    • 正在“按需”获取它们。你的意思是别的吗? @vipul
    • 当我更改清单文件时,应用程序在启动时要求 UAC 提示,并且操作系统也提前知道该应用程序需要 UAC 提升。有什么方法可以让我稍后根据用户输入请求 UAC?
    【解决方案2】:

    没有。盾牌表示如果用户启动 exe,他们应该期待一个 UAC 对话框。您在清单中要求这样做。一切都按设计进行。

    【讨论】:

    • gr8...,我会试试的。似乎我应该根据这个要求更改我的应用程序架构,并将所有需要管理员权限的代码放在单独的程序集中。然后在需要时使用 admin priv 调用该程序集。
    猜你喜欢
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多