【问题标题】:Windows 7 - Programmatically configure a application to run in XP compatibility modeWindows 7 - 以编程方式配置应用程序以在 XP 兼容模式下运行
【发布时间】:2009-08-13 18:23:43
【问题描述】:

我的应用程序需要管理访问权限,我希望它可以在 Windows 7 中轻松运行。

我有以下选择

1.要求使用该应用程序的用户关闭UAC。这是不得已而为之的选择,并且不愿意这样做。

2.在应用程序中嵌入一个清单,说明提升到管理员权限。这将起作用,但似乎每次用户运行应用程序时都会弹出一个对话框,要求用户同意。

3。将应用程序配置为在 Windows XP 兼容模式下运行。这可行,但我必须使用资源管理器-> 应用程序属性来执行此操作。如果我可以在安装期间以编程方式执行此操作,我真的更喜欢这个选项。我的问题是是否有任何方法可以实现这一目标。

问候

象头神

【问题讨论】:

  • 如果您要解释为什么您的应用程序需要管理访问权限,也许会提供有用的信息。可能有更好的方法来解决这个问题。
  • 如果它真的确实需要管理员,那么我不认为这是一个问题。任何人都想绕过 UAC 的唯一原因是他们正试图做一些邪恶的事情。嗯....
  • 也许 Ganesh 对第三方组件有一定的依赖性,如果没有管理员访问权限或 Windows XP 兼容模式,该组件将无法在 Windows 7 上运行。我见过这样的组件,原来的供应商已经破产,迁移到另一个组件是一项艰巨的任务。

标签: windows-7


【解决方案1】:

尝试makingapplication compatibility shim,表示您的应用需要 XP 兼容模式,并将其与您的应用一起分发。 shim 是管理员简化需要兼容性设置的 3rd 方应用程序安装的一种方法 - 它可以节省他们单独调整每台 PC 的时间。您可能可以使用一点 ingenuity 将其加入到您的安装程序中。

【讨论】:

    【解决方案2】:

    在过去的 2 年里,我已经非常习惯于处理 UAC 对话框,运行 Vista。如果它困扰你,我想知道你有多少使用后 XP 操作系统的经验。

    作为用户,我认为有两种看待它的方式:

    1. 该程序本身需要管理员。对于这些,我非常感谢这个对话,因为我知道这意味着没有人会在我的后台偷偷运行那个东西并修改我的系统。
    2. 程序本身需要管理员。大多数程序只需要管理员来自动更新自己(那时可能不需要它)。我的态度是这些程序设计得很糟糕。这样的程序应该只在发现它需要更新时才调用 AUC,而不是在我启动它的每个单独的时间。这也是一个安全问题,因为有人在整个程序中发现的任何缓冲区溢出都会给我带来风险。

    尽可能本地化对 UAC 的需求。最好的办法是放入一个单独的可执行文件。 (例如:“更新者”)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2012-11-12
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      相关资源
      最近更新 更多