Как получить имя файла, который устанавливается?

Как получить имя устанавливаемого файла?

Я хочу проверить, находится ли устанавливаемый файл уже в папке назначения, и переименовать существующий файл в другое имя. Есть ли способ узнать имя файла, который устанавливается? (вокруг OnMoving() или около того?).

Примечание. Я использую InstallScript MSI — InstallShield 2011 Premier.


person Santhosh J    schedule 17.10.2011    source источник


Ответы (2)


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

Вот несколько примеров настраиваемых действий, которые могут получить доступ к базе данных MSI во время установки: http://msdn.microsoft.com/en-us/library/Aa372865

person Bogdan Mitrache    schedule 17.10.2011

Хотя я думаю, что вы можете перехватить установку файла для каждого файла в чистом проекте InstallScript, вы не можете сделать это в проекте MSI InstallScript на основе установщика Windows. Это потому, что установщик Windows не дает такой возможности. Поэтому, если вы хотите сделать что-то подобное, вам нужно заранее выяснить, какие файлы будут перезаписаны, и делать то, что вы хотите в этот момент, вместо того, чтобы ждать события для каждого файла.

person Michael Urman    schedule 17.10.2011