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

Создание установочного архива для своих любимых программ

15.01.2013, 17:41. Показов 3090. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Многие новички в программировании рано или поздно создают программы или игры, которыми хотят поделиться с другими пользователями или своими друзьями. Но к своему большому удивлению обнаруживают, что отправленная программа, к примеру, другу, у него на компьютере не запускается и выдает разного рода ошибки. Основная проблема в том, что у друга на компьютере нет тех компонентов, которые использовались при написании программы или игры. Компонентами можно назвать элементы управления, такие как «Кнопки» и прочие. Как же быть в данной ситуации? Есть несколько способов решения данной проблемы:

1. Создать установочный архив своей программы или игры.
2. Ручным методом скидывать все используемые компоненты к пользователям, у которых предполагается запуск программы или игры в системную папку Windows\System32 для 32 битной системы и Windows\SysWOW64 для 64 битной системы.
Рассмотрим 1 вариант. Создадим установочный архив для своей программы на примере программы Setup Install Maker. Скачаем программу с Интернета. Установим ее на своем компьютере и запустим. На экране увидим следующее окно:


Собственно не буду разводить демагогию, что и как, думаю по названию ярлычков все понятно, за что отвечает каждое из полей. Я предложу перейти сразу в раздел «Файлы», тут самое интересное. Открыв данный ярлык, мы видим следующее окно:


В данном окошке нам предлагают добавить файлы которые имеют отношение к создаваемому установочному архиву. Для этого нажмем на зеленый крестик, и увидим диалоговое окно "Добавить файл", найдем необходимые компоненты без которых наше приложение работать отказывается и добавим их в программу. Путь извлечения для компонентов ActiveX или .DLL библиотек и прочего указываем %SystemDir%, что есть System32 или Syswow64. Путь извлечения %InstallPath%, это место куда пользователь захочет поставить программу. Собственно по названиям я думаю можно догадаться, какие именно места в системе подразумеваются.


Добавив все нужные нам файлы, переходим в следующий важный раздел "ActiveX". Данный раздел отвечает за регистрацию компонентов типа .OCX, .DLL и прочих в системе куда ставим программу.


Тут в низу мы можем найти «Зеленый крестик», нажав на него, нам предложат указать файл, который будет подлежать регистрации в системе при копировании его на другой компьютер.


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


Значит ранее мы ставили путь для извлечения файла %SystemDir%, а теперь заменим его на с %InstallPath% на %SystemDir%, далее ставим галочку по своему желанию.


Красота установщика настраивается в разделе "Диалоги", "Информация о компании" содержит информацию об имени программы ее авторе и прочей лабуде типа лицензионного соглашения, ответственности за созданное программное обеспечение. Нужные команды для приложения в разделе "Команды", запись в реестр заведомо нужных параметров в разделе "Реестр", создание .INI файлов как уже догадались в разделе "INI Файлы".

P.S. Надеюсь все понятно расписал, кто не понял вопросы в тему пожалуйста.

Ну и второй вариант решения проблемы:

Иногда при запуске какой-либо программы появляется сообщение, что не найден файл *.dll (например, VCompLib.dll) или *.ocx (например, seon.ocx). При этом программа, естественно, не запускается.

Сообщения об ошибках могут быть разные (это зависит в основном от того, на каком языке написана программа), например: «Component 'MSCOMM32.OCX' not correctly registered: file is missing or invalid», или «Приложению не удалось запуститься, поскольку MSVBVM50.DLL не был найден. Повторная установка приложения может исправить эту проблему», или «Runtime DLL/OCX File error». При этом в Windows Vista дополнительно появится окно Помощника по совместимости программ с сообщением Эта программа требует отсутствующий компонент Windows.

Краткая справка:

· DLL (от англ. Dynamic-Link Library – динамически подключаемая библиотека) – понятие операционной системы Microsoft Windows; динамическая библиотека, позволяющая многократное применение различными программными приложениями. K DLL иногда причисляют также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют так называемые shared objects («разделяемые объекты»). Формат файлов *.dll придерживается тех же соглашений, что и формат исполняемых файлов *.exe, сочетая код, таблицы и ресурсы.

· ActiveX – название группы технологий, разработанных Microsoft для программирования компонентных объектных приложений на основе модели COM.

· COM (сокр. от англ. Component Object Model) – модель компонентных объектов Microsoft, стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим; является основой многих объектных технологий, в том числе OLE и ActiveX).

· OLE (сокр. от англ. Object Linking and Embedding) – общее название (до 1996 г.) группы объектно-ориентированных технологий Microsoft на основе COM (OLE 1, OLE 2, OLE automation, OLE Database и др.).

· ActiveX control – управляющий элемент ActiveX; введенное в 1996 г. Microsoft новое название независимых программируемых компонентов, ранее называемых OLE controls, OCXs, OLE custom controls; в отличие от последних позволяют работать с Internet.

· OCX (сокр. от англ. OLE Custom eXtension) – перемещаемые элементы управления, OLE custom control, OLE control. Упрощенно можно сказать, что файлы *.ocx – это элементы управления ActiveX, выполняющие примерно те же функции, что и файлы *.dll.

· OLE custom control – специализированный управляющий элемент OLE, OLE control.

· OLE control – управляющие элементы OLE, программируемые компоненты-приложения с интерфейсом на базе OLE, позволяющим легко включать их в другие приложения; c 1996 г. называются ActiveX control. Синонимы: OCX, OLE custom control.

Способы решения проблемы:

Если возникают ошибки, связанные с файлами *.dll и *.ocx, необходимо:

1. Переустановить программу.

2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов. Файлы *.dll и *.ocx, как правило, должны быть расположены в системной папке \WINDOWS\system32 (реже – в каталоге конкретной программы). Если файлы присутствуют, нужно зарегистрировать их.

Если требуемых файлов нет, найдите их в Интернете, скачайте и скопируйте в папку \WINDOWS\system32 и в каталог программы. Теперь нужно зарегистрировать их.

Как зарегистрировать файлы *.dll и *.ocx?

При регистрации файлов *.dll и *.ocx происходит их запись в Реестр Windows (это можно сделать и вручную). При этом в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi ndows\CurrentVersion\SharedDLLs] создается параметр REG_DWORD, например C:\Program Files\InterVideo\Common\Bin\StorageTools .dll или C:\WINDOWS\System32\MSCOMCTL.OCX, со значением 1.

Регистрация файлов *.dll и *.ocx производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого – C:\WINDOWS\system32).

Рассмотрим способы регистрации:

1. Нажмите Пуск – Выполнить… – Запуск программы – regsvr32 имя_файла – OK.

2. Нажмите Пуск – Выполнить… – Запуск программы – cmd – OK. Запустится интерпретатор команд cmd.exe, после приглашения системы C:\Documents and Settings\Имя_пользователя> введите regsvr32 имя_файла, например, regsvr32 seon.ocx.

3. Если вы пользуетесь файловым менеджером Total Commander, то можно выполнить регистрацию файлов *.dll и *.ocx с помощью командной строки Total Commander.

Примечание.

Использование команды regsvr32:

regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл

/u – отменяет регистрацию DLL;

/s – «тихий» режим – окна сообщений не отображаются;

/i – вызывает DllInstall, передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall;

/n – не вызывает DllRegisterServer; это может использоваться с ключом /i.

Если регистрация файлов *.dll и *.ocx прошла успешно, появится соответствующее сообщение, например, в Windows Vista появится окно RegSvr32 с сообщением «Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll».

Всем спасибо за внимание ! По возможности прошу тему закрепить !
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2013, 17:41
Ответы с готовыми решениями:

Создание установочного пакета для приложения
Как это делается в 10ой и 12ой студии? В книге что я читаю пишут мол в 08 студии достаточно добавить к решению проект установки, но чего-то...

Как сделать инсталлятор для своих программ?
Здравствуйте! подскажите пожалуйста, как сделать инсталятор для своих программ для линукса. в винде пользовался InnoSetup, под линукс...

Откуда Вы берете значки (иконки) для своих программ?
Всем привет. Хотелось бы узнать, откуда Вы берете значки (иконки) для панелей инструментов, кнопок и пр.? Рисуете сами, гуглите? Знаю про...

11
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
16.01.2013, 00:54
Цитата Сообщение от inv.DS Посмотреть сообщение
Создадим установочный архив для своей программы на примере программы Setup Install Maker
Почему именно этой? Она стОит 2995 руб. При том, что существуют бесплатные программы с подобной функциональностью:
INNO Setup
NSIS
InstallForge
и т.д.
0
145 / 46 / 1
Регистрация: 06.11.2012
Сообщений: 283
16.01.2013, 00:56
Цитата Сообщение от Казанский Посмотреть сообщение
При том, что существуют бесплатные программы
А ты какую посоветуешь?
0
Заблокирован
16.01.2013, 07:39  [ТС]
Казанский, Я взял на примере того, что лично использовал на протяжении многих лет. А вообще для дома можно и не использовать платную версию , думаю намек всем понятен. Да и как бы платная она все же лучше чем бесплатная и трудились значит над ней не просто так, а зная, что она будет стоить денег и значит в нее душу и опыт вкладывали.

Казанский, И еще в Inno Setup много ручками писать надо, не люблю когда в 21 веке программе надо еще догонять, что от нее хочет пользователь.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
16.01.2013, 08:39
Цитата Сообщение от inv.DS Посмотреть сообщение
Добавив все нужные нам файлы
Мне кажется в твоем эссе это самое слабое место.
Вспоминаю, когда я был начинающим и наступал на грабли непереносимости моих программ, то как раз главным было не то, как доставить стороннему юзеру недостающие части, а как определить, какие компоненты программы надо распространять вместе с ней. Как узнать, что положить в инсталлятор?
Главный инструмент, который решает эту проблему, уже встроен в комплект VB6 - Package and Deployment Wizard. Было бы уместнее для начинающих в первую очередь рассказать, как работать с ним, как исправить его ошибку создания дистрибутива ( или даже выложить исправленный вариант).

Не по теме:

И ещё, такое впечатление, что ты черпал вдохновение в каком то древнем трактате о Visual Basic, везде встречается MSVBVM50.DLL. Это уже не актуально.

1
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 6
16.01.2013, 09:02
Читаю и чувствую себя тупым(((
0
Заблокирован
16.01.2013, 13:02  [ТС]
Pro_grammer, О великий, прошу простить меня я просто не имею больших навыков в написании подобных статей, можно сказать этой мой первый ход. Так же я был в надежде на то, что человек подключающих какую-то библиотеку заранее уже понимает, что данная библиотека ему и будет нужна в будущем. Но как творческая личность, я люблю творчество да и вообще, считаю, что каждый программист он что-то типа художника рисует и создает произведения, я готов выслушать замечания и предложения. Так же готов сказать, что следующие мое творение будет лучше.

Арчер, К чему ты так написал, то же есть замечания по поводу произведения моего ?

Цитата Сообщение от Pro_grammer Посмотреть сообщение
И ещё, такое впечатление, что ты черпал вдохновение в каком то древнем трактате о Visual Basic, везде встречается MSVBVM50.DLL.
Собственно не понял данное сообщение, и как бы я уже подразумеваю, что во всех новых системах то есть начиная от Windows XP данный библиотека идет в поставку продукта по умолчанию, но разумеется в сборках официальных MSDN, а не всяких там "Ректорах", "Зверей" и прочей школоты, которая начиталась как делаются сборки и шпарит теперь одну за другой, удаляя все файлы из сборки даже не подразумевая за что какой файл отвечает.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
16.01.2013, 13:09
Цитата Сообщение от inv.DS Посмотреть сообщение
Так же я был в надежде на то, что человек подключающих какую-то библиотеку заранее уже понимает, что данная библиотека ему и будет нужна в будущем.
Хорошо, что ты сразу врубился!
Может это и смешно, но я не понимал, когда был начинающим (боюсь не я один был таким). До этого я что то там "Хелловордил" на QBasic, там нет таких заморочек. И плавный переход на VB6 в этом плане меня сильно озадачил. Честно.

Цитата Сообщение от inv.DS Посмотреть сообщение
не понял данное сообщение
Это я к тому, что сейчас мы используем VB6, а он в свою очередь базируется на MSVBVM60.DLL.
Т.о. MSVBVM50.DLL библиотека устаревшая даже для такого древнего продукта, как VB6
1
Заблокирован
16.01.2013, 13:16  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Хорошо, что ты сразу врубился!
Может это и смешно, но я не понимал, когда был начинающим (боюсь не я один был таким). До этого я что то там "Хелловордил" на QBasic, там нет таких заморочек. И плавный переход на VB6 в этом плане меня сильно озадачил. Честно.


Это я к тому, что сейчас мы используем VB6, а он в свою очередь базируется на MSVBVM60.DLL.
Т.о. MSVBVM50.DLL библиотека устаревшая даже для такого древнего продукта, как VB6
Вот это меня и с подвигло начать переходить на Visual Basic 2010 .NET чего и тебе желаю. Осваиваю его потихоньку. Не стал смотреть в сторону C++, C# меня почему-то данные версии приводят в бешенство глядя на диалект написания кода, совершенно не логичен мне так кажется. В Visual Basic он похож на слова, которые есть в реальной жизни, к примеру .RecordSet - набор записей в переводе.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
16.01.2013, 13:54
Цитата Сообщение от inv.DS Посмотреть сообщение
чего и тебе желаю.
Давно уже осваиваю. Только C#. И особой разницы с VB 2010 не вижу, слова все те же. Только ставить их нужно немножко по другому
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
16.01.2013, 13:57
Цитата Сообщение от inv.DS Посмотреть сообщение
C++, C# меня почему-то данные версии приводят в бешенство глядя на диалект написания кода, совершенно не логичен мне так кажется.
Ужас, и как только на нем пишут
Pro_grammer, попробуй Visual Studio 2012. Там даже комментарии к внутренним классам на русском (айс).

Цитата Сообщение от inv.DS Посмотреть сообщение
Да и как бы платная она все же лучше чем бесплатная и трудились значит над ней не просто так, а зная, что она будет стоить денег и значит в нее душу и опыт вкладывали.
А я вот совсем противоположного мнения.
Да, основном от платной программы ожидаешь, что там все без сучка и задоринки, и это чаще всего так и бывает, потому как фирма получает за нее деньги и постоянно выпускает новые версии в т.ч. исправляя баги.
Но вот вкладывают ли они туда душу, делая все для удобства пользователей, либо стараются по-быстрее написать, пренебрегая сложными к реализации штучками, это уже спорный вопрос.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
16.01.2013, 14:38
Цитата Сообщение от Dragokas Посмотреть сообщение
попробуй Visual Studio 2012
Уже стоит на виртуалке, пробую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2013, 14:38
Помогаю со студенческими работами здесь

Средства отладки программ в DELPHI.Создание программ для циклических процессов
Ребята, помогите, пожалуйста, нубу, никак не справлюсь(( Заранее благодарен) 1. Средства отладки программ в DELPHI.Создание программ для...

Магазину требуются программисты для продажи своих программ и прочего творения
Уважаемые программисты! Предлагаю Вам работу на сайте, на котором вы сможете с легкостью продать ваши работы ( скрипты, плагины,...

Создание установочного файла
Добрый день! Подскажите, могу ли я используя VS (publish wizard) создать установочный файл приложения, соединяемого с базой (mssql server).

Создание установочного файла
Здравствуйте, буду очень рад если поможете решить задачу. У меня есть база данных созданная в Microsoft Access я ее интегрировал в Delphi,...

Создание установочного файла!!
Подскажите как все что я сделал скомпоновать в 1 установочный????


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru