Удаление файлов, изначально не установленных программой INNO - PullRequest
0 голосов
/ 28 августа 2009

Я использую Inno Setup для установки / удаления моего продукта. Мое программное обеспечение имеет функции автоматического обновления, в течение которых оно может не только изменять существующие двоичные файлы, но и добавлять новые. Это дополнительные файлы продукта, которые помещаются в каталог установки продукта, а не файлы данных.

Программа удаления Inno Setup знает только об удалении файлов по имени, которое они изначально поместили туда во время установки. Поскольку автоматическое обновление не изменяет ни файлы unins000.exe, ни unins000.dat, из которых состоит деинсталлятор, каков будет правильный способ удаления этих новых файлов продукта во время деинсталляции?

1 Ответ

2 голосов
/ 31 августа 2009

Самый простой способ, который я вижу, это иметь пакетный файл в вашей директории программы, который удаляет все файлы, которые были добавлены после установки и выполняется при удалении:

 [UninstallRun]
Filename: cleanup.cmd; WorkingDir: {app}; Flags: shellexec runminimized

UninstallRun команды выполняются в качестве первого шага удаления, так что это должно работать нормально. Если вас беспокоит идея запуска пакетного скрипта, вы можете легко создать свой собственный файл cleanup.exe, который удалит файлы.

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

...