Файл .ini не изменяется/не обновляется при обновлении с помощью installshield, поскольку некоторые папки не удаляются при обновлении

Не так давно я получил новую работу, работая над инструментом, созданным компанией для облегчения жизни людей при работе с AWR.

Я успешно сделал несколько исправлений и улучшений, которые мне удалось распространить через установщики HotFix (просто перезаписать уже существующие файлы).

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

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

Я посмотрел в Интернете и обнаружил, что для создания установщика, который будет устанавливаться поверх предыдущей версии, мне нужно будет сделать серьезное обновление с помощью installshield, что я и сделал после прочтения этого. Теперь установщик успешно устанавливает старую версию, он успешно размещает новые файлы и папки на своих местах, но всегда оставляет одну конкретную пустую папку, ту, что для версии 1.1.1.

Это не казалось проблемой, пока я не понял, что .exe не удалось изменить файл .ini, который необходимо изменить, чтобы сообщить AWR, где искать сценарии. Я просмотрел код .exe и после нескольких тестов, запустив его в одиночку, я понял, что проблема не в .exe, он выполняет свою работу правильно. Проведя множество тестов, я обнаружил, что пока существуют эти пустые папки, файлы .ini нельзя изменить. Я понятия не имею, почему, поскольку файл .ini в значительной степени является файлом .txt, и нет смысла иметь какую-то зависимость от папки 1.1.1.

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

Поскольку установщик работает правильно, пока этих папок нет, я решил, что лучше всего убедиться, что установщик удалит их, но я застрял и не знаю, что делать дальше.

Спасибо за любые советы и помощь, которую вы можете предоставить в этом вопросе.


person RaptorSD    schedule 03.03.2016    source источник


Ответы (1)


Решение: я удалил все файлы, которые мне нужно было обновить, из списка компонентов и повторно добавил их в проект installshield. После этого все было обновлено правильно, и папки были удалены, так как .exe был правильным.

person RaptorSD    schedule 08.03.2016