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

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

29.10.2013, 14:50. Показов 18348. Ответов 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
Заблокирован
01.11.2013, 22:44  [ТС]
Лучший ответ Сообщение было отмечено как решение

Решение

Студворк — интернет-сервис помощи студентам
Вот посмотри...
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub Compile(Project$)
    Dim o As New WshShell, j(), j1(), RegKey$, v
    v = Environ("temp")
    
    Select Case LCase(Fso.GetExtensionName(Project))
    Case "vbp"
        j = Split(ReadBytes(Project, [Binary To Unicode]), vbCrLf)
        ChDir (Fso.GetParentFolderName(Project))
        On Error Resume Next
        For f = 0 To UBound(j)
            If j(f) <> "" Then
                Select Case Split(j(f), "=")(0)
                Case "Reference"
                    j1 = Split(j(f), "#")
                    For f1 = 0 To UBound(j1)
                        If Fso.FileExists(j1(f1)) Then
                            AddComponent Fso.GetAbsolutePathName(j1(f1))
                        End If
                    Next
                Case "Object"
                    RegKey = j(f)
                    RegKey = Replace(RegKey, "Object=", "HKEY_CLASSES_ROOT\TypeLib\")
                    RegKey = Replace(RegKey, "#", "\")
                    RegKey = Split(RegKey, ";")(0) & "\Win32\"
                    AddComponent Wsh.RegRead(RegKey)
                End Select
            End If
        Next
    Case "vbg"
        MsgBox "Поиск проектов....."
    End Select


Добавлено через 1 минуту
Это отрывок где найденные в проекте либы и контролы передаются списку выбора

Добавлено через 5 минут
Тоесть я всерьёз взялся за это
плохо только что никто ничего не рекомендует (сегодня кроме вас)
не предостирегает о подводных камнях )))
2
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
01.11.2013, 22:49
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Вот посмотри...
Да, этот способ приемлемый, и достаточно быстрый.
0
Заблокирован
01.11.2013, 22:49  [ТС]
Никаких тупых переборов в листинге всё сходится я сейчас тчательно тестирую
0
 Аватар для fireday
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
01.11.2013, 22:57
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Dim o As New WshShell
Это как так?
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Select Case Split(j(f), "=")(0)
Не знал что так можно, спасибо
0
Заблокирован
01.11.2013, 23:19  [ТС]
Цитата Сообщение от fireday Посмотреть сообщение
Select Case Split(j(f), "=")(0)

я же обещал что в процесе разработки буду выдавать экслюзивы )))

Добавлено через 9 минут
Цитата Сообщение от fireday Посмотреть сообщение
Dim o As New WshShell
А на это не обращай внимания я пока тестирую, эти переменные мне нужны для тестов...
уберу потом лишнее
0
Заблокирован
02.11.2013, 00:56  [ТС]
Вот моя уже сырая разработка
насегодня пока хватит
а то я сейчас кипеть начну )))....
Вложения
Тип файла: rar GeneratorSetupLiveVB.rar (140.6 Кб, 9 просмотров)
0
Заблокирован
02.11.2013, 01:51  [ТС]
только что нашол ньюанс там надо исправить:
Case "Project"
на
Case "Project", "StartupProject"
вот фрагмент:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Case "vbg"
        j = Split(ReadBytes(Project, [Binary To Unicode]), vbCrLf)
        ChDir (Fso.GetParentFolderName(Project))
        For f = 0 To UBound(j)
 
            If j(f) <> "" Then
                j1 = Split(j(f), "=")
                Select Case j1(0)
                Case "Project", "StartupProject"
                    Compile (Fso.GetAbsolutePathName(j1(1)))
                End Select
            End If
        Next
 
    End Select


Добавлено через 6 минут
Боковую картинку я так и не поставил )) Pro_grammer меня
резко отдёрнул... теперь мне некогда придумывать картинку
если кто хочет можете свою прикрепить в эту тему
0
Заблокирован
02.11.2013, 02:18  [ТС]
Вот такая картинка получается....
Миниатюры
Затеял свой инсталятор  
2
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.11.2013, 08:53
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Pro_grammer меня
резко отдёрнул...
Исключительно для повышения производительности труда! Кому нужны все эти свистелки-перделки в рабочем инструменте. Тем более на стадии разработки.
Начало вроде не плохое. Теперь все найденные и присоединенные юзером можно упаковать тем, что есть в системе - cab или zip и полученный архив прикрепить в конец к исполняемому stub файлу. Задача этого stub файла на клиентской машине извлечь из себя архив и распаковать его в указанную папку.
0
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
02.11.2013, 12:19
На всякий случай, код родного Setup1 из визардов VB6 смотрели?
Нахожу для себя как чайника много поучительного..

Не по теме:

feedback из народа
Мне, самоучке, в родном Package & Deployment Wizard в основном мешают две вещи:
1. Нельзя добавлять файлы и папки (с подкаталогами и путями) кучей, а не по одному
2. Не нашел настроек переписывать / пропускать /... для библиотек, которые уже стоят. Винда ругается при установке ("violation"), что может юзера напугать.
Первое таки да решается с помощью SFX.
Второе пока не решил. Вот и думаю:
- попробовать исправить Setup1?
- развить свои скромные познания в батниках и научится делать тихие инсталляторы?
- все же подружиться со сторонними инсталляторами (в ИнсталлШилд и СмартСетап свои заморочки, к тому же они платные; InnoSetup начал глядеть, делфи мне чужд, он вдруг отказался добавлять скрытые файлы, а я привык все, что юзеру не надо трогать, скрытым ставить... Изучаю)
- дождаться инсталлятора JoraVoenyjHaker ;)
Пока склоняюсь к 'исправить Setup1'.
Всем удачи!

0
Заблокирован
02.11.2013, 14:03  [ТС]
Цитата Сообщение от chai_nick Посмотреть сообщение
- дождаться инсталлятора JoraVoenyjHaker
Пока склоняюсь к 'исправить Setup1
Надо не дожидаться а принимать участие )))
сейчас рассматриваю легально расспрастраняемый упаковщик
с возможностями
1 самораспаковки
2 потдержка командной строки
3 созданием ярлыков и тд
4 простой в использовании

я уже придумал что это будет SFX WinRar
попутно начал рассматривать 7z

Добавлено через 28 минут
Цитата Сообщение от Pro_grammer Посмотреть сообщение
cab или zip и полученный архив прикрепить в конец к исполняемому stub файлу. Задача этого stub файла на клиентской машине извлечь из себя архив и распаковать его в указанную папку.
Pro_grammer если тебе не трудно скинь ссылку
подробности с примерами чтоб мне быстрее понять как это работает
Пожалуйста....
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.11.2013, 14:33
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
подробности с примерами
Да есть на форуме. Как упаковать в ZIP средствами VB вроде Dragokas давал код, как записать данные в конец файла вроде Catstail, или поищи или переспроси.

А stub файл надо написать не на VB, чтобы запускался на всех компах без лишних библиотек. Если на Пурике, то я смогу помочь в этом вопросе. Для этого надо иметь пример ZIP файла, реального, созданного твоей программой.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
02.11.2013, 14:34
Сохраняй в ресурсы.
0
Заблокирован
02.11.2013, 14:52  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
пример ZIP файла, реального, созданного твоей программой.
Хорошо я сделаю реальный файл ZIP
с скомпилированными проектами и библиотеками
средствами VB6 если Вам чтото это даст

а вообще очень хочется тупо создать профиль для WinRar-а
80% юзеров однозначно его имеют на своих машинах
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.11.2013, 15:45
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
а вообще очень хочется тупо создать профиль для WinRar-а
Да пожалуйста, кто мешает? Просто я предлагаю варианты.
Если смотреть со стороны совместимости, то 99% юзеров имеют предустановленный в систему файл MSVBVM60.DLL. Тогда вообще зачем нужен SFX ?
1
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
02.11.2013, 15:52
Изначально задача, как я понял была содание одного файла, который запускается и распаковывет по необходимости нужные библиотеки и сам является испольняемым файлом. Теперь, я смотрю, уже файл не должен быть одновременно распаковщиком и исполняемым. В таком случае, на мой взглят, есть 2 решения.
1. Делать распаковщик без привязки к библиотекам на другом языке, и "склеивать" с ним все остальное. Он будет все распаковывать и запускать.
2. (Используя только VB6) Делать вручную exe, который будет распаковывать и регистрировать все что нужно.
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
02.11.2013, 15:58
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
а вообще очень хочется тупо создать профиль для WinRar-а
И уж тогда не платный WinRAR, а бесплатный 7-ZIP. Там такие файлы SFX делаются буквально 1-й строчкой
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
'до 7-zip32.dll полный путь когда запуск из VB6.Если скомпилировать,то можно без пути( или в системную папку)
Private Declare Function SevenZip Lib "I:\Program Files\Microsoft Visual Studio\VB_prog\7_Zip\7-zip32.dll" (ByVal hwnd As Long, ByVal szCmdLine As Long, ByVal szOutput As Long, ByVal dwSize As Long) As Long
 
Private Sub Form_Load()
Dim cmd() As Byte
Dim Destination As String
Destination = Chr(34) & "c:\temp\sfx_setup" & Chr(34)
'cmd() = StrConv("a C:\bardak\dummy.7z -ms", vbFromUnicode)
cmd() = StrConv("a -sfx -mx7 -p -ir!*.* " & Destination & " " & Chr(34) & "*.*" & Chr(34), vbFromUnicode)
Call SevenZip(Me.hwnd, VarPtr(cmd(0)), 0, 0) 'создает архив с паролем sfx_setup в папке c:\temp\ и добавляет в него все файлы из текущей папки
End Sub
1
Заблокирован
02.11.2013, 18:03  [ТС]
Ладно я чтонибудь слеплю
в итоге так и так один файл получиться ! я от этого не отступаю
там в его механизмах будут происходить промежуточные извлечения....
а затем удаление этих временных файликов
и запуск основного продукта юзера

Добавлено через 6 минут
Pro_grammer спасибо за на-водку )))

Добавлено через 1 час 56 минут

Не по теме:

The trick
Чёткая у тебя музыка, сейчас закачал пару треков
теперь делаю свою прогу под музыку, очень вдохновляет.....

0
02.11.2013, 18:10

Не по теме:

Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
The trick
Спасибо! Я сейчас пишу проект, компьютерной генерации музыки на VB6, делаю с поддержкой плагинов и расширений. Два синтезатора нописал для него, делаю хост программу (чтобы можно было в ней редактировать музыку также), после этого буду делать сам модуль генерации. Также планирую туда вставить модуль визуализации (что-то типа как в демосценах).

0
02.11.2013, 18:22  [ТС]

Не по теме:

Меня в детстве мама заставляла ходить на музыку
на фортепьяно, так-что клавиши нажимать умею.
и сам пользуюсь, визуализированными муз-редакторами
готовыми патернами и оранжировками если что...
сейчас правда очень редко )))

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2013, 18:22

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru