Переустановка компонента или приложения
Установщик Windows может восстановить, заменить и проверить файлы, содержащиеся в приложении. Частичное или полное переустановка приложения может потребоваться, если какие-либо файлы или записи реестра, связанные с какой-либо функцией, отсутствуют или повреждены.
При переустановке компонента или приложения все службы, переменные среды и пользовательские действия, принадлежащие компоненту или приложению, также переустановляются. Обратите внимание, что это означает, что все изменения, внесенные в переменные среды между исходной установкой и повторной установкой, будут потеряны.
В следующем списке содержатся методы переустановки компонента или продукта. Первые два метода были автоматизированы установщиком:
- Восстановление, замена или проверка файлов путем вызова функции MsiReinstallFeature.
- Переустановите весь продукт, вызвав функцию MsiReinstallProduct.
- Переустановите, замените или проверьте файлы с помощью кнопки управления интерфейсом установщика через Reinstall ControlEvent.
- Переустановите, замените или проверьте файлы из командной строки, задав свойство REINSTALL и свойство REINSTALLMODE.
Дополнительные сведения о переустановке компонента или приложения см. в разделе Устойчивость.
Переустановка продукта с помощью установщика
- Вызов MsiReinstallProduct.
Переустановка компонента с помощью установщика
- Вызов MsiReinstallFeature.
Переустановка продукта или компонента с помощью пользовательского интерфейса установщика
Добавьте кнопку в указанное диалоговое окно, добавив запись в таблицу управления .
Добавьте ReinstallMode ControlEvent в таблицу ControlEvent, где поля Dialog_ и Control_ ссылаются на элемент управления кнопкой, созданный на шаге 1. В поле "Аргумент" введите строку, содержащую буквы, соответствующие нужным режимам переустановки (допустимые значения этого поля идентичны допустимым значениям для свойства REINSTALLMODE). Значение в столбце упорядочивания для этого события должно иметь значение 1.
Добавьте событие переустановки ControlEvent в таблицу ControlEvent, еще раз ссылаясь на элемент той же кнопки управления. Поле аргумента для этого события обычно будет ALL, чтобы принудительно переустановить все функции, но здесь можно поместить имя определенной функции. Значение в столбце сортировки для этого события должно быть равно 2.
Добавьте еще одно событие, связанное с тем же элементом управления кнопкой, чтобы фактически инициировать переустановку. Это может быть событие EndDialog (с аргументом Return). Однако, как правило, событие NewDialog будет использоваться здесь, чтобы перейти к Вы уверены, что хотите переустановить? диалоговое окно подтверждения. Значение в столбце упорядочивания для этого события должно иметь значение 3.
Если требуется, для одного диалогового окна можно создать несколько кнопок ПЕРЕУСТАНОВКИ, что позволяет пользователю выбрать тип выполненной переустановки. В этом случае каждая кнопка создается так, как описано в приведенной выше процедуре, с другим параметром ReinstallMode ControlEvent для каждой кнопки.
После установки определенного продукта (с некоторыми или всеми функциями продукта) можно выполнить переустановку в командной строке:
Переустановка продукта или компонента из командной строки
В командной строке укажите свойство ПЕРЕУСТАНОВКА.
В командной строке укажите свойство REINSTALLMODE.
Указание этих свойств позволяет пользователю переустановить все или все функции продукта. Также можно указать тип переустановки. Например, можно указать, что следует переустановить только те файлы, которые полностью отсутствуют, или же заменить только поврежденные файлы (например, любой исполняемый файл, контрольная сумма которого не соответствует фактическому содержимому файла).