Я пытаюсь включить ngen
в мой установщик, используя эту статью . Я хочу запустить ngen
синхронно (с приоритетом = 0) во время установки, но для этого требуются права администратора. Итак, теперь у меня есть следующее сообщение в журнале:
MSI (s) (74:2C) [18:30:14:310]: Invoking remote custom action. DLL: C:\windows\Installer\MSI60B0.tmp, Entrypoint: ExecNetFx
ExecNetFx: Microsoft (R) CLR Native Image Generator - Version 4.0.30319.1
ExecNetFx: Copyright (c) Microsoft Corporation. All rights reserved.
ExecNetFx: Installing assembly C:\myapp\myapp.exe
ExecNetFx: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
ExecNetFx: Administrator permissions are needed to use the selected options. Use an administrator command prompt to complete these tasks.
ExecNetFx: Error 0xffffffff: Command line returned an error.
ExecNetFx: failed to execute Ngen command (with error 0xffffffff): C:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe install "C:\myapp\myapp.exe", continuing anyway
ExecNetFx: Microsoft (R) CLR Native Image Generator - Version 4.0.30319.1
ExecNetFx: Copyright (c) Microsoft Corporation. All rights reserved.
ExecNetFx: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
ExecNetFx: Administrator permissions are needed to use the selected options. Use an administrator command prompt to complete these tasks.
ExecNetFx: Error 0xffffffff: Command line returned an error.
ExecNetFx: failed to execute Ngen command (with error 0xffffffff): C:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe update /queue, continuing anyway
Есть ли простой способ запросить у пользователя административные права (используя стандартную подсказку UAC) в этот момент, когда запускается ngen? Если пользователь нажимает «Нет», я хочу продолжить без ngen. Если да - запустите ngen и прекомпилируйте мое приложение.
Какие-нибудь мысли?
Спасибо.