Почему диалоговое окно UAC занимает много времени?

Я работаю над установщиком Windows с помощью набора инструментов WIX, и для ВОИС (15-45 секунд) для всплывающего окна во время установки требуется ВСЕГО (15-45 секунд). есть ли способ ускорить это?

Ответ 2

Благодарим за то, что он указал мне в правильном направлении. Трюк с этим кажется свойством MSIFASTINSTALL.

Свойство MSIFASTINSTALL может использоваться для сокращения времени, необходимого для установки большого пакета установщика Windows. Свойство может быть установлено в командной строке или в таблице свойств для настройки операций, которые определяют пользователь или разработчик, не имеет существенного значения для установки.

Значение свойства MSIFASTINSTALL может быть комбинацией следующих значений.

value  Meaning 
-----  -----------------------------------------------------------
0      Default value
1      No system restore point is saved for this installation.
2      Perform only File Costing and skip checking other costs.
4      Reduce the frequency of progress messages.

В WIX вы можете использовать комбинацию этих значений следующим образом:

<Property Id="MSIFASTINSTALL" Value="3" />

Более подробную информацию об этом свойстве можно найти на этом сообщении в блоге.

Ответ 3

Это происходит потому, что Windows проверяет, имеет ли пакет цифровую подпись.

К сожалению, алгоритм проверки цифровой подписи не очень хорош. Кроме того, его производительность зависит от размера пакета. Таким образом, более крупный пакет будет иметь большую задержку.

Чтобы избежать задержки, вы можете добавить простой EXE-загрузчик в ваш MSI. Его цель - запросить возвышение через манифест и запустить MSI рядом с ним. Если вы не включите в нее MSI, то у загрузочного устройства будет небольшой размер. Таким образом, проверка цифровой подписи будет очень быстрой.