【问题标题】:Install .NET 4 Prerequisite Elevated but Application MSI perUser安装 .NET 4 Prerequisite Elevated 但应用程序 MSI perUser
【发布时间】:2012-07-01 16:58:45
【问题描述】:

使用 dotNetInstaller 2.1.528

同时提升先决条件和 MSI

如以下链接中所述,使用 dotNetInstaller 引导程序时: 在“运行时”部分下,将“administrator_required”设置为“True” 这将允许 dotNetInstaller 提升组件

  • 因此,当 administrator_required 为 true 时,安装 .NET 4 先决条件开始工作,即使用户没有使用“以管理员身份运行”运行安装程序。

  • 但现在 msi 也以提升的权限运行!即使它是为每个用户/非提升安装而构建的,并且运行 msi 直接安装它也没有任何提升(使用 WiX 构建)。

dotNetInstaller:安装时的 UAC 提升 http://code.dblock.org/dotnetinstaller-uac-elevation-on-install

配置 dotNetInstaller 2.0 以安装自定义先决条件,然后以提升的权限运行自定义 exe。 http://geekswithblogs.net/JaydPage/archive/2011/03/31/configuring-dotnetinstaler-2.0-to-install-custom-prerequisites-and-then-run.aspx

如何只提升先决条件而不提升 MSI?

我的 .msi 是每个用户而不是每个机器,如果已经安装了 .NET 4 先决条件,则根本不需要提升。

  • 并且(每个用户)msi 的不必要提升具有需要提升才能卸载的进一步影响。

  • 如何实现选择性 - 提升 .NET 4 安装程序,而不是应用程序 msi?

【问题讨论】:

  • 也许您应该考虑使用 ClickOnce。它有一个很好的每用户故事,能够引导 NETFX。
  • @Christopher ive 回顾了其他策略(clickonce、Wix Burn、过时与设置和部署、installshield、nsis),唯一适合我整体需求的策略是 dotnetinstaller(尽管 nsis 可能也适合,我还没有研究那么多)-由于其他标准,所以不能这样做......
  • 嗯,我知道 InstallShield 有办法告诉它提升先决条件,但不能提升 MSI (UI)。我不能说我已经使用了足够多的 .NET 安装程序来知道如何做到这一点。我认为 ClickOnce 可能是一个不错的选择,因为它是为我通常避免的每用户故事而设计的。你没有说你的标准是什么,所以很难说你是否得出了正确的结论。一种简单的方法是更改​​ MSI 仅检查 .NET 4.0 并在不存在时阻止的要求。

标签: c# .net wix windows-installer dotnetinstaller


【解决方案1】:

先决条件应在安装时自行提升。没有办法让这个过程以某种方式降低自身地位或产生一个低于自身地位的孩子。

【讨论】:

  • 虽然这并不能回答如何仅提升先决条件,这是问题的症结所在,但您确实指出了一条徒劳的途径,谢谢!
【解决方案2】:

目前不支持先决条件的选择性提升,and the answer lies in developing that feature in dotNetInstaller source code ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多