Установщик не обновляется (возможно, из-за файлового кэша Windows 7)

318
Sithu

Я создаю установщик для моего приложения Visual FoxPro с помощью ISTool и не устанавливаю . Впервые для меня это нормально. Но я обновил свой код и заново собрал файл EXE. Затем снова скомпилировал установщик. Я обнаружил, что мое обновление не было скомпилировано в установщик, и я не увидел его в своем работающем приложении.

Я заметил, что файл EXE, созданный VFP, был обновлен правильно. Кажется, установочный скрипт не вывел обновленный файл. Но когда я изменил имена папок, это сработало. Я не хочу менять имена папок при запуске этого сценария установки. На самом деле это не очень хорошая идея.
Я думаю, что это из-за системы кэширования Windows 7. Мой Windows 7 Home Premium с пакетом обновления 1.

Например,
мой предыдущий выходной файл находится по адресу C: \ path \ to \ myinstaller.exe.
Когда я компилирую сценарий установки, выходной файл должен быть перезаписан, но это не так, как ожидалось. Хотя я удалил файл, он не работал.
Когда я изменил путь к файлу вывода как C: \ newpath \ to \ myinstaller.exe, я получил исправление, но это не решение, которое я ищу.

Кто-нибудь, как это сделать?

[Изменить]
Я обнаружил, что установленный каталог не был обновлен должным образом.
Например, я установил программу в C: \ Program files \ MyInstalledApp.
При повторном запуске установщика этот установочный каталог должен быть перезаписан, но произошел сбой.
Таким образом, я получил возможность удалить приложение, прежде чем переустановить его.

Есть ли какое-то решение для этого?

1
Проблема в вашем установочном скрипте. Это действительно ошибка, а не перезапись существующего файла, который вы должны где-то исправить. harrymc 11 лет назад 0

1 ответ на вопрос

0
John Siu

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

https://stackoverflow.com/questions/2000296/innosetup-how-to-automatically-uninstall-previous-installed-version