C# 安装.NET 4先决条件提升但应用程序MSI perUser

C# 安装.NET 4先决条件提升但应用程序MSI perUser,c#,.net,wix,windows-installer,dotnetinstaller,C#,.net,Wix,Windows Installer,Dotnetinstaller,使用dotNetInstaller 2.1.528 提升先决条件和MSI 如以下链接所述,使用dotNetInstaller引导程序时: 在“运行时”部分下,将“需要管理员”设置为“True” 这将允许dotNetInstaller提升组件 因此,当administrator_required为true时,安装.NET 4先决条件开始工作,即使用户没有以“以管理员身份运行”运行安装程序 但是现在msi也以提升的权限运行!即使它是为每个用户/非提升安装而构建的,并且运行msi直接安装它,而无

使用dotNetInstaller 2.1.528

提升先决条件和MSI 如以下链接所述,使用dotNetInstaller引导程序时: 在“运行时”部分下,将“需要管理员”设置为“True” 这将允许dotNetInstaller提升组件

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

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

dotNetInstaller:安装时的UAC标高

配置dotNetInstaller 2.0以安装自定义先决条件,然后以提升的权限运行自定义exe。

如何仅提升先决条件而不提升MSI? My.msi是每个用户而不是每台机器,如果已安装.NET 4必备组件,则根本不需要升级

  • (每个用户)msi的不必要提升会进一步影响卸载时需要提升

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


先决条件应在安装时自行提升。没有办法让这个过程本身提升或产生一个比自己低的孩子。

结果,目前不支持先决条件的选择性提升,……/P>也许你应该考虑和ClickOnce一起去。它有一个很好的每个用户的故事,能够引导NETFX。@Christopher ive回顾了其他策略(clickonce、Wix Burn、过时的vs设置和部署、installshield、nsis),唯一适合我总体需求的是dotnetinstaller(虽然nsis可能也适合,但我还没有做太多研究)-由于其他标准,因此无法执行…我知道InstallShield有一种方法告诉它提升prereqs,但不提升MSI(UI)。我不能说我已经使用了足够多的.NET安装程序,知道如何让它做到这一点。我认为ClickOnce可能是一个不错的选择,因为它是为我通常避免的每个用户的故事而设计的。你没有说你的标准是什么,所以很难说你是否得出了正确的结论。一个简单的方法是改变MSI只检查.NET 4.0和块(如果不存在)的要求。虽然这并不能回答如何仅提升先决条件,这是问题的关键,但您确实指出了一条无效的途径,谢谢!