вторник, 5 июня 2012 г.

Урок 48. Много разных файлов в папке с проектом? Пора разобраться.

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



У меня в папке скопилось великое множество всякой всячины:

Если Вы внимательно следили за развитием проекта, повторяя все действия за мной, то у Вас, скорее всего, их не меньше.

Прежде всего, готовый exe-ник обработайте Compress.bat, в котором находится одна команда:

upx Rashod.exe

Второе: обнулите базу данных. На этом шаге можно оставить самые необходимые счета в списке счетов.

Третье: нужно создать отдельную папку, в которую мы будем складывать лишь самое необходимое.

Как же определить, что должно входить в состав "самое необходимое"?
Если бы я, давая эти уроки, был книжным теоретиком, то, скорее всего, результат моего творчества не содержал бы различных обработчиков внештатных ситуаций.
Поэтому, можно смело положить в отдельную папку (я назвал ее "For Install"), всего лишь один исполняемый файл Rashod.exe и попытаться его запустить. Программа сразу отреагирует на нехватку библиотеки:



Скопируйте файл ProDelphiLyb.dll и еще раз запустите программу. Реакция не заставит себя долго ждать:


Добавьте и файл настроек в отдельную папку, но! Откройте его и поменяйте строку подключения к базе данных, вписав в соответствующее место имя папки "For Install" (секция [General], параметр ConnectionString, переменная Data Source=...). Внимание: "For Install" и "For install" - разные папки!!! Имейте это ввиду. Чтобы избежать ошибок, лучше скопируйте абсолютный путь из проводника Windows.

Еще раз пробуем запустить программу. На экран будет выведено предупреждение о некритической ошибке:


Что означает термин "некритическая ошибка"? Лишь то, что программа после нажатия кнопки "ОК" продолжит свою работу. 

Копируем файлы языковой поддержки *.lng, и пытаемся начать вводить данные, но программа не может найти базу данных в месте, указанном строкой подключения, и предлагает нам сделать это самостоятельно (некритическая, а досадная :-) ошибка):


Копируем "слона" - базу данных. 
Запуск программы наконец-то будет удачным. Но это - на первый взгляд. Попробуйте вызвать справку любым известным способом (меню или F1), и Вы получите следующее (уже системное) сообщение об ошибке:


Значит, нужно и файл справки RASHODHELP.HLP тоже взять с собой в папку "For Install".

И тут Вы подумали: "Ну, теперь-то уж, наверное, все..." и ошиблись. Справка не реагирует на кнопку "Содержание". Зря что ли мы так долго над ней бились? Нет, нужно захватить с собой файл RashodContext.cnt.

В итоге, в отдельной папке  "For Install" должен собраться набор из следующих файлов:
  • Файл программы Rashod.exe
  • Файл библиотеки ProDelphiLyb.dll
  • Файл настроек  Rashod.ini
  • Файлы языковой поддержки Rus.lng и Eng.lng.
  • Файл базы данных Rashod.mdb
  • Файл справки RASHODHELP.HLP
  • Файл содержания справки RashodContext.cnt
Это и будет исходный материал для написания инсталлятора программы, подготовкой которого мы займемся на следующем уроке.





Комментариев нет:

Отправить комментарий