Почему некоторые установщики должны перезапустить компьютер, прежде чем Вы запустите программу?

Вы можете попробовать что-то вроде этого:

String str = "This is a \"sample\" ";
Console.WriteLine("Original string: {0}", str);
Console.WriteLine("Replaced: {0}", str.Replace('\"', '"'));
7
задан Scott Lawrence 11 February 2009 в 16:23
поделиться

3 ответа

Обычно перезагрузки между установкой и выполнением - то, потому что Вы заменяете систему DLLs, которые заблокированы. Установщик настраивает выполнение однажды ключ реестра, который копирует DLLs во время начальной загрузки, прежде чем они будут заблокированы Windows, и затем Ваше приложение может использовать новый DLL, который Вы установили.

В целом этому высоко препятствуют. Не должно быть никакой причины больше ни для кого кроме самого Windows для перезагрузки после установки больше.

Я предложил бы возвратиться в отладчик для обнаружения большего количества деталей о том, почему приложение отказывает. Надо надеяться, Вы имеете достаточно трассировки в наличии в своем коде для разрешения того типа отладки.

8
ответ дан 7 December 2019 в 03:22
поделиться

В целом перезагрузка только требуется, если установщик должен заменить файлы, которые используются в настоящее время (и заблокированный) ОС. Иногда установщики будут допускать ошибку на стороне reboot-just-in-case, но это более редко, чем это раньше было.

1
ответ дан 7 December 2019 в 03:22
поделиться

У нас есть случай с установщиком, который я поддерживаю, где мы должны вызвать перезагрузку для перспективы только из-за контроля учётных записей и расширения полномочий. После того как установка завершена, мы должны инициировать программу как текущий пользовательский контекст, не поднятый контекст Vista.

В Вашем случае я подозреваю, что некоторые файлы не были правильно зарегистрированы, и просто необходимо придерживаться отладки ;)

0
ответ дан 7 December 2019 в 03:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: