Реализация Reinstall
От: nesesser Удмуртия  
Дата: 12.10.06 08:09
Оценка:
Доброго всем дня. Возник такой вопрос.
Обнаружил, что мой продукт не выполняет переустановку. Т.е. если удалить часть файлов, то переустановка этого не поправит.
У меня отключен диалог Maintenance. Соответственно в MaintenanceType я тоже не попадаю.
Я решил сделать просто — при выполнении условия Installed And Not RESUME And Not Preselected And Not PATCH (т.е. условия входа в Maintenance) на диалоге InstallWelcome публиковать события

ReinstallMode [ReinstallModeText]
Reinstall ALL

Однако так не получается =( Файлы не восстанавливаются.
Вопрос:
Какие еще условия не соблюдены, чтобы инсталлят выполнился в режиме Reinstall?
Re: Не восстанавливает ярлыки
От: nesesser Удмуртия  
Дата: 18.10.06 05:29
Оценка:
Сделал вот так:

Лечятся повреждения файлов — переустанавливаются файлы. Однако если были удалены ярлыки — они почему-то не появляются.
В чем может быть дело?
Re: Реализация Reinstall
От: sharpcell  
Дата: 16.02.07 13:53
Оценка:
Windows Installer определяет что повреждены не файлы а компоненты. Каждый файл привязан к какомо-ту компоненту. Для компонента определяется свой KeyPath но только один. Попробуй вынести ярлыки в отдельные компоненты. Для компонента установить KeyPath на ярлык. Должно восстанавливаться.
Re[2]: Не восстанавливает ярлыки
От: sunsquirel США  
Дата: 02.03.07 21:16
Оценка:
Здравствуйте, nesesser, Вы писали:

N>Сделал вот так:

N>
N>Лечятся повреждения файлов — переустанавливаются файлы. Однако если были удалены ярлыки — они почему-то не появляются.
N>В чем может быть дело?

Насколько мне известно, Reinstall действует только на те файлы, которые отмечены как key file, то есть файл без которого приложение не будет работать. Соотвественно, если ярлык настроен на такой файл, что он должен восстанавливаться. А вообще надо это проверить все, потому что InstallShield тоже хитер
Re[3]: Не восстанавливает ярлыки
От: nesesser Удмуртия  
Дата: 05.03.07 05:44
Оценка:
Здравствуйте, sunsquirel, Вы писали:

S>Насколько мне известно, Reinstall действует только на те файлы, которые отмечены как key file, то есть файл без которого приложение не будет работать. Соотвественно, если ярлык настроен на такой файл, что он должен восстанавливаться. А вообще надо это проверить все, потому что InstallShield тоже хитер


Заблуждаетесь. Минимальная единица оперирования Windows Installer — это компонент. Действия (транзакция) применяются либо ко всему компоненту, либо не применяются вообще. Key File (или же еще Key Path в случае использования реестра) есть только флаг физического присутствия компонента на машине.
И когда запускается Reinstall служба проверяет наличие этих самых Key File-ов. Если какие-то отсутствуют, а компонент считается установленным — тут-то служба компонент и фиксит (весь компонент, не один файл).
Именно поэтому не советуют класть в компоненты много файлов — если не поврежден Key File, то и остальные файлы восстановлены не будут.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.