Установите необходимое повышение уровня.NET 4, но приложение MSI perUser
используя dotNetInstaller 2.1.528
Повышение как Prerequisite и MSI
Как подробно описано в ссылках ниже, при использовании загрузчика dotNetInstaller: в разделе "Runtime" установите "administrator_required" на "True", это позволит dotNetInstaller повысить уровень компонентов
Таким образом, установка обязательного компонента.NET 4 начинает работать, когда значение administrator_required равно true, даже если пользователь не запускает программу установки с "Запуск от имени администратора".
Но теперь MSI работает с повышенными привилегиями! Несмотря на то, что он создан для установки на пользователя / без повышенных прав, и запуск MSI напрямую устанавливает его без каких-либо повышений (построен с WiX).
dotNetInstaller: повышение уровня UAC при установке http://code.dblock.org/dotnetinstaller-uac-elevation-on-install
Конфигурирование dotNetInstaller 2.0 для установки пользовательских предварительных условий и последующего запуска пользовательского исполняемого файла с повышенными привилегиями. 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?
2 ответа
Оказывается, выборочное повышение требований в настоящее время не поддерживается, и ответ заключается в разработке этой функции в исходном коде dotNetInstaller...
Предпосылки должны поднять себя при установке. Нет никакого способа заставить этот процесс каким-либо образом поднять себя или породить ребенка, который менее возвышен, чем он сам.