Как получить имя файла устанавливаемого файла?
Как получить имя файла устанавливаемого файла?
Я хочу проверить, находится ли устанавливаемый файл уже в папке назначения, и переименовать существующий в другое имя. Есть ли способ, с помощью которого мы узнаем имя устанавливаемого файла? (вокруг OnMoving() или около того?).
Примечание: я использую InstallScript MSI - InstallShield 2011 Premier
2 ответа
Вы можете попытаться прочитать имена файлов, которые ваш пакет установит во время выполнения, с помощью специального действия, а затем проверить каталог установки, если он содержит другой файл с соответствующим именем.
Вот несколько примеров пользовательских действий, которые могут получить доступ к базе данных MSI во время установки: http://msdn.microsoft.com/en-us/library/Aa372865
Хотя я думаю, что вы можете перехватывать установку файлов отдельно для каждого файла в чистом проекте InstallScript, вы не можете сделать это в проекте MSI InstallScript на основе установщика Windows. Это потому, что установщик Windows не дает такого рода хуков. Поэтому, если вы хотите сделать что-то подобное, вам нужно будет заранее выяснить, какие файлы будут перезаписаны, и делать то, что вы хотите в этот момент, вместо того, чтобы ждать события для каждого файла.