Форум программистов, компьютерный форум, киберфорум
Инсталляторы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/81: Рейтинг темы: голосов - 81, средняя оценка - 4.77
Заблокирован

Затеял свой инсталятор

29.10.2013, 14:50. Показов 18920. Ответов 181

Студворк — интернет-сервис помощи студентам
Главная его задача:
Создать один файл EXE
который одновременно будет и исполняемым файлом программы
и распаковщиком дополнительных библиотек если нужно
если произведен первый запуск добавление Uninstal в эту-же папку

Схема его работы примерно следующая:
1 указывается папка установки (по умолчанию Program files)
2 список найденных подключенных библиотек проекта
(сделать анализ на уровне проекта или группы не сложно)
3 текстовое поле лицензии

если есть конструктивные идеи или вопросы
Господа ! давайте будем рассматривыть их здесь

готов выложить исходники прямо сейчас !

Добавлено через 15 минут
...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2013, 14:50
Ответы с готовыми решениями:

Свой инсталятор
Я создаю "инсталятор" программы... иным словом просто должен скопировать файл Exe по указаному пути. Создать Ярлык и создать 2 текстовых...

Затеял цветомузыку.. Сам не знаю зачем.
Вот решил сделать цветомузыку полностью аналоговую. Представляю схему на суд. И вопрос не по теме кто как картинки получает чтоб сюда...

Инсталятор
Подскажите как делать инсталятор для Projectа что туда кидать??? p.s.(Еще есть компонент Alpha Controls) что закинуть в установщик чтобы...

181
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 15:42
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
как писать код
Записи в Setup будут примерно такими
On error resume next Set class1 = CreateObject("MyLib.Class1"....
If err Then...
Ты сначала расскажи как планируешь делать по всем пунктам. Как ты собираешься совмещать exe и dll, как запускать exe, как производить регистрацию и т.п. Тебе, если ты хочешь иметь на выходе 1 файл, нужно совмещать установку и саму программу, как ты это собираешься делать. Варианты были сказаны ранее, может что-то сам пидумал. По-хорошему, если бы я занимался этой программой, то я либо писал инсталлятор выполняющий скрипт (P-код) из ресурсов на другом языке (без привязки к рантайму), либо генерировал exe напрямую (по сути компилятор, но это долго в плане разработки), все зависит от времени, желания, и то к чему душа лежит.

Добавлено через 3 минуты
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Вы забываете про сторонние деинсталляторы программ. Да, Де факто файл MSVBVM60.DLL в системе начиная с с XP должен быть. Но он легко удаляется при деинсталляции программ, если таковые его дублировали при инсталляции, - криворуких программистов ещё ни кто не отменял, к сожалению.
Конечно, если и делать инсталлятор, то делать нормальный. Зачем нужен инсталлятор который не работает или просит какие-то либы? Поэтому надо однозначно делать без привязки к рантайму и каких-то специфических либ.
0
Заблокирован
30.10.2013, 15:52  [ТС]
Так вот на выходе созданная Setup

сначало проверяет те самые либы
извлекает недостающие из ресурсов
регестрирует
затем извлекает прогу (куданибудь) и запускает
0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 16:05
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
затем извлекает прогу (куданибудь) и запускает
А если программа завершится аварийно? Exe файл останется, запускать надо в памяти. Хотя CreateFile позволяет удалять файл по закрытию хендла, но там свои ньюансы.
0
Заблокирован
30.10.2013, 16:48  [ТС]
как будет работать SetupCreator:

Указываеться проект VBP

1 производиться анализ подключаемых библиотек
предлогается Юзеру включить-выключить компоненты
Компилируется Юзер-прога

2 создаёться мини проект Uninst (с инфой что удолять) компилируеться
3 создаёться мини проект Setup (название может быть как у Юзер-проги)
с файлом ресурса с ZIP куда добавленны компоненты, Юзер-прога и Uninst компилируеться
0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 16:59
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Указываеться проект VBP
Лучше делать сразу exe, и из таблицы импорта смотреть библиотеки.
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
2 создаёться мини проект Uninst (с инфой что удолять) компилируеться
А если при установке что-то не скопируется, не зарегистрируется? Надо эту информацию во время установки получать а не до. А то будет проблема "криворуких программистов", о которой писал Pro_grammer
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
3 создаёться мини проект Setup (название может быть как у Юзер-проги)
Написали же, что без рантайма не будет работать!
1
Заблокирован
30.10.2013, 18:45  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
криворуких программистов
Удаление только !!! если дата установки соответствует!

Цитата Сообщение от The trick Посмотреть сообщение
Написали же, что без рантайма не будет работать!
Тогда както надо придумать
чтоб Setup запустилась из оболочки написанной на другом языке
я к сожалению другими пока плохо владею....

Добавлено через 9 минут
Или придётся Bat-файл
создавать из CreatorSetup
а мне бы очень не хотелось нагромождать файлы

Добавлено через 12 минут
Цитата Сообщение от The trick Посмотреть сообщение
запускать надо в памяти.
кстате а какая команда загружает приложение
в память и запускает его (чистое любопытство)
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
30.10.2013, 19:48
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
какая команда загружает приложение
в память и запускает его
ту не команда, а целая куча разных API, вот некоторые, которые могут пригодится
CreateProcess
GetThreadContext
ReadProcessMemory
WriteProcessMemory

Но запуск из памяти тоже плохая идея - антивирусы этот приём не любят. Могут быть проблемы с распространением.
1
Заблокирован
30.10.2013, 20:28  [ТС]
Хорошо, эти приёмчики запишу на заметку

а запуск буду делать реального объекта, способом о котором упоминал

Добавлено через 3 минуты
Если Юзерская прога будет легкой то можно даже и
её удаление предусмотреть после её закрытия

Добавлено через 22 минуты

Не по теме:

The trick
что означает ваша подпись 8 Qubit я кокой-то утилитой
пользуюсь со схожим названием не ваша ?...

0
30.10.2013, 20:30

Не по теме:

Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
что означает ваша подпись 8 Qubit я кокой-то утилитой
пользуюсь со схожим названием не ваша ?...
:) Нет - это название трека.

0
30.10.2013, 20:41  [ТС]

Не по теме:

Ясно какнибудь послушаю трэки всё некогда
сами видите...., прогу изобретаю... :)

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
30.10.2013, 20:52
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Тогда както надо придумать
чтоб Setup запустилась из оболочки написанной на другом языке
я к сожалению другими пока плохо владею....
- а можно ведь использовать WSH (VBScript)
0
Заблокирован
30.10.2013, 20:59  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
и из таблицы импорта смотреть библиотеки
Я тут свои методы изобретал, а где искать то что Вы предлогаете ?

Добавлено через 3 минуты
Цитата Сообщение от Catstail Посмотреть сообщение
- а можно ведь использовать WSH (VBScript)
VBScript в любом случае придёться както иначе запускать... ???...
0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 21:02
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я тут свои методы изобретал, а где искать то что Вы предлогаете ?
В PE-заголовке, секция .idata . Вот тут можешь посмотреть формат exe-файла.
2
Заблокирован
30.10.2013, 21:25  [ТС]
весьма полезная инфа !
наверное таким образом можно ещё и смещать адреса, и увеличивать
размер исполняемого файла

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от The trick Посмотреть сообщение
Вот тут
Страница соответствующая моему имиджу :)



Добавлено через 12 минут
Я к тому что както можно объеденить 2 EXE-шника в одном

1 который написан на делфи и чья задача только проверить и/или зарегить MSVBVM60.DLL
2 мой setup со смещённым адресом реально такое сделать ?
0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 21:35
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я к тому что както можно объеденить 2 EXE-шника в одном
Можно объединить два exe-шника, но таблицы импорта тоже надо объединять, поэтому программа все равно будет привязана к рантайму, и поэтому не запустится. Хотя если извратиться, то можно вызывать LoadLibrary и менять адреса вручную, но этим лучше не заниматься.
0
Заблокирован
30.10.2013, 22:49  [ТС]
ИДЕЯ !

а что если сделать так CreatorSetup
создаёт батник
+создаёт профиль для WinRar - типо... Создание SFX (setup тихий режим+иконка)
затем сам запускает этот профиль

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

Добавлено через 14 минут
CMD и BAT файлы я децл умею делать
они то уж точно заработают!

в свою очередь WinRar поддерживает командные инструкции
для устойчивой работы WinRar толко CreatorSetup-у потребуется
в добавок ещё и шифрануть их можно будет
а Setup уже навернека покажет себя как надо у клиента

Напомню Setup это условное название
по умолчание это название программы юзера с его фирменной иконкой

это даже легче будет сделать, тогда только надо на создании профиля
сосредоточиться

По сути CreatorSetup будет сам профиль создавать
и запустит его, а WinRar
делать EXE со всеми нужными делами

Только интерфейс у CreatorSetup
надо сделать сказочно красивым

Добавлено через 22 минуты

Не по теме:

И название сделать GeneratorSetupLive

0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 22:50
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Только интерфейс у CreatorSetup
надо сделать сказочно красивым
Делай через OWNERDRAW стиль.
0
Заблокирован
30.10.2013, 23:39  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Делай через OWNERDRAW стиль.
Ок !

А вот кому не понятно что такое профиль для WinRar
это пример файла REG который можно изменять....

Кликните здесь для просмотра всего текста
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\WinRAR\Profil es\0]
"Name"="Рез. Копия InTeh"
"Default"=dword:00000000
"ImmExec"=dword:00000000
"AddToMenu"=dword:00000000
"CurDir"="C:\\Documents and Settings\\User\\Рабочий стол"
"ExclNames"=""
"StoreNames"=""
"UseRAR"=dword:00000001
"SFXModule"="C:\\Program Files\\WinRAR\\Default.SFX"
"SFXIcon"="C:\\Program Files\\WinRAR\\Themes\\Delato_32x32\\REV .ico"
"SFXLogo"=""
"SFXElevate"=dword:00000000
"CmtFile"=""
"CmtTextData"=hex:3b,d0,e0,f1,ef,ee,eb,e e,e6,e5,ed,ed,fb,e9,20,ed,e8,e6,e5,20,\
ea,ee,ec,ec,e5,ed,f2,e0,f0,e8,e9,20,f1,e e,e4,e5,f0,e6,e8,f2,20,ea,ee,ec,e0,\
ed,e4,fb,20,53,46,58,2d,f1,f6,e5,ed,e0,f 0,e8,ff,0d,0a,0d,0a,50,61,74,68,3d,\
43,3a,5c,0d,0a,53,61,76,65,50,61,74,68,0 d,0a,53,65,74,75,70,3d,22,43,3a,5c,\
54,65,6d,70,5c,52,65,67,20,49,6e,54,65,6 8,2e,63,6d,64,22,0d,0a,53,69,6c,65,\
6e,74,3d,31,0d,0a,4f,76,65,72,77,72,69,7 4,65,3d,31,0d,0a,54,69,74,6c,65,3d,\
d1,e0,ec,ee,f0,e0,f1,ef,e0,e5,ee,e2,fb,e 2,e0,fe,f9,e8,e9,f1,ff,20,e0,f0,f5,\
e8,e2,20,52,41,52,0d,0a,00
"VolumeSize"="Auto"
"VolPause"=dword:00000000
"OldVolNames"=dword:00000000
"RecVolNumber"=dword:00000000
"Update"=dword:00000000
"Fresh"=dword:00000000
"SyncFiles"=dword:00000000
"Overwrite"=dword:00000000
"Move"=dword:00000000
"ArcRecBin"=dword:00000000
"ArcWipe"=dword:00000000
"Solid"=dword:00000000
"AV"=dword:00000000
"Test"=dword:00000000
"Recovery"=dword:00000000
"EraseDest"=dword:00000000
"AddArcOnly"=dword:00000000
"ClearArc"=dword:00000000
"Lock"=dword:00000000
"Method"=dword:00000005
"DictSizeLZ"=dword:00400000
"Background"=dword:00000000
"WaitForOther"=dword:00000000
"Shutdown"=dword:00000000
"Password"=hex:49
"EncryptHeaders"=dword:00000000
"OpenShared"=dword:00000000
"ProcessOwners"=dword:00000000
"SaveStreams"=dword:00000000
"GenerateArcName"=dword:00000000
"VersionControl"=dword:00000000
"GenerateMask"="yyyymmddhhmmss"
"FileTimeMode"=dword:00000000
"FileDays"=dword:00000000
"FileHours"=dword:00000000
"FileMinutes"=dword:00000000
"FileTimeBefore"=dword:88000000
"FileTimeAfter"=dword:88000000
"ArcTimeOriginal"=dword:00000000
"ArcTimeLatest"=dword:00000000
"mtime"=dword:00000004
"ctime"=dword:00000000
"atime"=dword:00000000
"PathsAbs"=dword:00000001
"PathsNone"=dword:00000000
"PathsAbsDrive"=dword:00000000
"SeparateArc"=dword:00000000
"EmailArcTo"=""
"PackDetails"=hex:00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,0 0,00,00,00,00,00,00,00,00
"ArcName"="G:\\Чёрный ящик 2г\\Восстановление InTeh.exe"
"FileNames"="\"C:\\Documents and Settings\\User\\Мои документы\\Програмирование\\VB\\Создавае мые проекты\\InTeh\" \"C:\\Temp\\Reg InTeh.cmd\" \"C:\\Program Files\\Информационные технологии\\InTeh.dll\" \"C:\\Program Files\\Информационные технологии\\InTeh1.dll\" "


И никаких недостатков, таких как короткие имена для DOS !


Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
OWNERDRAW
Кстате где его качнуть можно через DownLoadMaster ?

Не по теме:

Завтра начну делать !

Наверное нельзя на форуме спрашивать софт? закинте в личку если что
для общего дела стараюсь !



также в ресурс CreatorSetup можно и пакет маленького WinRar включить
если у кого его нет, тогда CreatorSetup очень быстро распространится у VB-шников
1
30.10.2013, 23:41

Не по теме:

Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Кстате где его качнуть можно через DownLoadMaster ?
:D:facepalm:
OWNERDRAW - отрисовка контролов твоей прогой, а не системой.

0
Модератор
10069 / 3914 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
30.10.2013, 23:45
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Кстате где его качнуть можно через DownLoadMaster ?
Это стиль контролов, его не надо качать тут я делал пример
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2013, 23:45

Инсталятор
У меня во время запуска setuo.msi вылетает ошибка "Не удалось открыть пакет установки. Свяжитесь с поставщиком и убедитесь, что это...

Инсталятор
Скажите, что нужно сделать, чтоб написанную мной программу (консольное приложение) можно было бы запустить на другом компьютере, где нет...

Инсталятор
Как написать инсталшилд? Сам новичек, заставили сделать на С++Builder, даже в книгах ничего не нашел, а в интернете готовые проги без...

Инсталятор
Всем привет решил сделать для сайта инсталятор Вот создал форму куда вводить данные от базы данных <p><form...

Создать инсталятор
всем привет! хочу научиться создавать инсталляторы типа.... кто может мне помочь в этом?


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru