Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
 Аватар для Mr-Sergio
0 / 0 / 1
Регистрация: 22.12.2012
Сообщений: 71

Как создать установщик для своей программы

24.12.2012, 01:29. Показов 7478. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал несколько программ и хотел бы похвастаться своими так скажем "достижениями" в области vb со своим преподавателем. Программы vb6, через кот. я пишу, него нет. В книжке написанно, что ехе файл у него не запустится из-за это. Подскажите пожалуйста, какой компилятор можно использовать для этой цели.
Заранее всех огромное спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2012, 01:29
Ответы с готовыми решениями:

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

Как создать установщик своей программы
Как создать программа install (для установка программы)

Создать установщик своей программы
Здравствуйте Господа! Есть проблемка... Программирую на VB .NET 2008. В последнем своем проекте дабы не извращаться в рисовании...

9
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.12.2012, 02:33
В VB6 при полной установке есть свой компилятор
Миниатюры
Как создать установщик для своей программы  
1
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
24.12.2012, 08:13
Alex77755, уж лучше воспользоваться сторонними установщиками, чем юзать этот костыль
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.12.2012, 08:55
Цитата Сообщение от Mr-Sergio Посмотреть сообщение
В книжке написанно, что ехе файл у него не запустится из-за это.
1. Книжки врут! Если не использовались дополнительные компоненты, то заработает.
2. Package & Deployment Wizard содержит изначально ошибку ( для русских ). Если на Вашем компьютере (там, где запускался P&D Wizard) настройки разделителей даты/времени отличаются от оригинальных американских ('/' - для даты, ':' - для времени), то не заработает! Или меняем настойки в разделе Панель управления/Язык и стандарты перед сборкой или модифицировать исходный текст программы setup1.exe - есть в комплекте. Как модифицировать? Рецептов в Инете много.
3. Сторонний установщик использовать можно. Но обычно это ручная работа, надо знать какие компоненты включить в комплект. Сомневаюсь, что начинающий подозревает, что надо для работы программы в каждом конкретном случае. Как найти, то что надо? Посмотреть файл проекта .vbp, там всегда есть список компонентов которые подключались к проекту в ходе разработки. Но не факт, что полный.

4. Есть программы, которые собирают весь проект на VB6 в один исполняемый файл. Почти универсальное средство для новичка, если найти такое в Сети. У меня есть, если надо, то выложу.
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.12.2012, 10:13
Цитата Сообщение от Памирыч Посмотреть сообщение
Alex77755, уж лучше воспользоваться сторонними установщиками, чем юзать этот костыль
Из-за одной ошибки?
Я пока продолжаю пользоваться им.
По требованию заказчика делаю установщик на английском или русском языке.(меняю setup1.exe)
Неудобство(для меня) составляет сам не русифицированный Package & Deployment Wizard. Но уже привык
1
Заблокирован
24.12.2012, 10:54
Лучший установщик: InstallShield
1
 Аватар для Mr-Sergio
0 / 0 / 1
Регистрация: 22.12.2012
Сообщений: 71
24.12.2012, 12:39  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
4. Есть программы, которые собирают весь проект на VB6 в один исполняемый файл. Почти универсальное средство для новичка, если найти такое в Сети. У меня есть, если надо, то выложу.
Выложите пожалуйста.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.12.2012, 12:59
которые собирают весь проект на VB6 в один исполняемый файл
Ну так это архиватор!
Только это не установщик как бы
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.12.2012, 13:13
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Alex77755 Посмотреть сообщение
Только это не установщи
Обычный установщик. Только он сам анализирует проект ( exe должен быть уже создан) и подсказывает, какие файлы включить в само распаковывающийся архив. Можно к примеру исключить самый большой MSVBVM60.DLL из поставки ( в большинстве современных ОС он уже есть), но будут включены все .ocx и т.п., потом проект будет сжат.
В итоге получим один компактный файл, который пользователь может запустить на своем компе. Все нужные файлы автоматически установятся в нужные места, программа заработает. Ни каких вопросов полученный исполняемый файл не задает, как будто вы запускаете портабле версию.

Единственное неудобство - поиск файла в проекта происходит в формате 8.3 ( типа DOS) и на английском. Длинные имена фалов срезаются. А в остальном вполне нормальная прога.
Сам хочу написать подобную, более современный вариант, да как то руки не доходят...
Вложения
Тип файла: zip VB_Упаковщик.zip (649.8 Кб, 188 просмотров)
3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38179 / 21114 / 4307
Регистрация: 12.02.2012
Сообщений: 34,721
Записей в блоге: 14
31.12.2012, 13:44
Я пользовался и стандартным VB-инсталлятором и Wise-инсталл-мастером... А потом пришел к тому, что все можно решить самому. Причем, на VB. И сделал свой инсталлятор. Схема примерно такая:

1) vbsetup.exe - инсталлятор; vbUnsetup.exe - деинсталлятор.
2) Создаю модельный архив приложения на каком-либо диске, т.е. создаю все директории, наполняю их чем положено. Среди этих директорий обязательно есть директория \COM. В ней располагаются все осх, dll и т.д. (все, что подлежит регистрации).
3) Запаковываю все это дерево winrar-ом (делаю самораспаковывающийся архив и устанавливаю режим "запустить vbSetup.exe после распаковки".
4) Программная логика vbSetup:
- проверяет возможность доступа к реестру (пытаясь создать ключ). Если попытка не удалась - выводит сообщение о необходимости адм. доступа и завершается.
- зная список GUID-ов компонентов, которые нужно регистрировать, программа сканирует реестр и проверяет,
есть ли такие классы на целевом ПК. Если есть, соответствующий осх(dll) удаляется из \COM - он не нужен.
Если компонент не найден в ресстре целевого ПК, имя запоминается.
- Регистрируются (regSvr32) в директории \Com компоненты, имена которых запомнились. Имена выводятся в текстовый файл setup.log.
- Выполняется запуск инсталлируемого приложения, а vbSetup завершается.
- Приложение удаляет vbSetup из текущей директории. Все.

Для выполнения деинсталляции запускается vbUnsetup. Она копирует сама себя во временную дир. Windows и повторно стартует оттуда. По файлу setup.log ищутся компоненты, которые надо деинсталлировать, деинсталлируются, удаляются из \Com, после чего удаляется вся директория приложения.

Добавлено через 19 часов 59 минут
Дополнительным плюсом моего подхода является следующее обстоятельство. Пусть в Ваш проект входит какой-либо осх (например, FlexGrid). Вы используете версию "A", а на целевом ПК зарегистрирована версия "B".
Обычный инсталлятор в лучшем случае предупредит о расхождении версий, а в худшем случае просто установит свою в ..\System32. Последствия этого для других приложений на целевом ПК, которые использовали версию "B" могут оказаться неприятными... А мой vbSetup установит версию "A" в локальную директорию \Com, а версию "B" не тронет. И они будут мирно сосуществовать...
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2012, 13:44
Помогаю со студенческими работами здесь

Как сделать установщик своей программы?
надо написать прогу установщика. но как сделать один файл??? может можно взять обычный exe файл добавить ему в конец приблуду и все? как...

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

Как создать установщик программы
Слышал что установочник можно стелать с помощью Setup Project, но ничего подобного со словом "Setup" нету, что делать?

Создать API доступ для своей программы
Добрый день! Подскажите, что нужно делать, чтобы предоставить разработчикам сторонней программы доступ по API к моей программе? Для...

Заплатка для своей программы посредством другой своей программы
Доброго времени... друзья! Есть программа: program Project1; uses Windows; var


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru