|
0 / 0 / 0
Регистрация: 14.02.2007
Сообщений: 45
|
|
Запуск программы с CD02.02.2011, 22:39. Показов 1967. Ответов 15
Метки нет (Все метки)
Подскажите, пож. идею, как запустить программу с CD? Детали: есть небольшое VB приложение (простая форма для ввода данных пользователя), которое находит некоторые данные PC (СPU, BIOS и т.д.) и отправляет их по известному почтовому адресу. Но есть требование- не делать Setup на компе Userа (т.к. эта программа будет использована только 1 раз при настройке high-speed интернета), а запустить все с CD (который дается пользователю и после установки удаляется, и все). Знаю, какие нужны файлы (dll, tlb) для запуска exe файла, ecть сам exe, а вот как все это оформить (чтобы пользователь не видел всего Setup процесса), а увидел исходную форму для ввода своих данных?
Спасибо
0
|
|
| 02.02.2011, 22:39 | |
|
Ответы с готовыми решениями:
15
Запуск программы без создания окна. Запуск фоновой программы Запуск студией и запуск самой виндой. Разница работы программы Запуск из программы с админскими привилегиями внешней программы без прав админа |
|
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 71
|
|
| 03.02.2011, 06:50 | |
|
Для запуска программы с СД необходимо создать на СД файл AUTORUN.INI
В него написать, что-то вроде [autorun] Mydirmyprog.exe Соответственно нужно сделать программу, чтоб она могла свободно загружаться, не спрашивая пользователя.
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
|
|
| 03.02.2011, 09:46 | |
|
Без установки библиотек VB-программа не запустится, то есть setup необходим. Вижу такой способ обхода - до запуска CD каким-то образом убедить юзера инсталлировать другую программу, на VB созданную, а в ее дистрибутив включить необходимые библиотеки. Не всегда это возможно, конечно.
0
|
|
|
Comanche
|
|
| 03.02.2011, 12:08 | |
|
По-моему, InnoSetup с установленным плагином 'прекомпайлер', позволяет выполнить инсталляцию без GUI, а затем вызвать установленный EXE-шник...
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 139
|
|
| 03.02.2011, 15:40 | |
|
igor_c
Нельзя пугать человека просто так. Если приложение выполнено (в ехе файле) с применением только элементов управления из стандартного списка в VB (Text, Label, Picture, и т.д.) в Toolbox, имеющихся в ОС любого компьютера - то программа будет работать на любом Win9x и ХР !!!! Причем даже если в Module1 и Form1 использованы API! CronMix я поддерживаю идею autorun.... yuri_curious У тебя наверняка имеется куча CD дисков от любой игрушки. Посмотри внимательно как там сделано - то , что подсказывает CronMix Успехов! Все ждем ответа об успехах :: ))
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
|
|
| 03.02.2011, 15:56 | |
|
Э, нет, Дмитри, тут лучше переборщить с 'пугалками'. В Windows 9X запросто может не оказаться msvbvm60.dll, а без нее не пойдет даже самый простой экзешник.
0
|
|
|
1 / 1 / 0
Регистрация: 03.08.2007
Сообщений: 155
|
|
| 03.02.2011, 16:15 | |
|
Можно собрать все библиотеки и прочие компоненты в один exe-шник программой Fusion (если не ошибаюсь) и потом этот exe-шник записывать на CD. Только нужно чтобы в ней небыло ограничений по количеству дней или запусков.
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2007
Сообщений: 45
|
|
| 03.02.2011, 17:29 [ТС] | |
|
Всем спасибо за ответы.
Но, как мне кажется, в этой задаче есть две части 1)копирование и регистрация необходимых dll (как от MS, например Msvbvm60.dll, Comcat.dll, и т.д. всего их 7 штук, как уверяет MS- список их можно посмотреть в st6unst.log, если выполнить стандартный Setup, так и свох собственно использованных в программе); 2)запуск программы после выполнения 1-го этапа. Если я правильно понимаю, идея Autorun oтносится ко второй части. Или я не прав ? Как лучше выполнить (запустить) 1-ю часть- типа batch файл? Наверное, я не могу проделать все это из основной программы, т.к. она не запустится, пока библиотек нет (не зарегистрированы) на PC? Спасибо
0
|
|
|
Comanche
|
|
| 03.02.2011, 19:44 | |
|
Давным-давно делал так (когда писАл приятелю простенький электронный каталог для распространения на CD):
1. НаписАл на Дельфи простейший EXE-шник, который - при отсутствии в реестре флажка 'Здесь был Вася' - копировал в %system% бэйсиковский ран-тайм (MSVBVMxx.DLL), и если копирование прошло успешно (т.е. такого файла ДО копирования в папке не было), то регистрировал скопированный файл с помощью REGSVR32, запущенного с ключом '/s' ('silent' - без уведомляющего окна в конце). Я полный ноль в Дельфи (и был, и есть), но благо есть сайт 'Королевство Дельфи', где и справочной информации масса, и спросить всегда есть кого. Дельфи был выбран, поскольку скомпилированные в нём EXE-шники якобы не требуют никакого ран-тайма; впрочем, это предположение вроде как подтвердилось - по крайней мере, получатели каталога никогда потом не жаловались. 2. Если вызов REGSVR32 прошёл успешно, то этот дельфёвый загрузчик передавал управление второму EXE-шнику, сделанному на бэйсике. Этот 'второй' EXE-файл - тоже был, по сути, 'загрузчиком', поскольку использовал только MSVBVMxx.DLL (т.е. в референсах его проекта ничего 'дополнительного' не было!) и занимался только одной вещью: копировал с CD (и регистрировал) все необходимые файлы: OCX, DLL и т.д. Тут было немного API - приходилось анализировать версии (релизы) библиотек, прежде чем пытаться их заместить. 3. Если и второй загрузчик отработал успешно, то наконец запускался третий EXE-шник - собственно VB-шное приложение, использующее все эти OCX, DLL и т.д., скопированные и зарегистрированные на предыдущем шаге. Естественно, первое, что делал успешно запущенный третий EXE-шник - это прописывал в реестр флажок, что 'Здесь был Вася'. Тогда при повторных запусках первого загрузчика с компакта, это крохотное дельфёвое приложение - обнаружив этот флажок - ничего и никуда не копировало, а сразу передавало управление третьему EXE-шнику, т.е. собственно электронному каталогу. Как можно догадаться, в качестве флажка выступала не фраза 'Здесь был Вася', а полное имя третьего EXE-шника - в тех случаях, если пользователь каталога выбрал опцию 'Работать без диска' и скопировал (спец. кнопкой) весь каталог на ж.диск (иначе как бы его нашёл первый загрузчик?). По уму, первые два 'загрузчика' неплохо бы 'слить' в один - целиком написанный на Дельфи. Однако, мне лично было в лом изучать Дельфи по такому поводу )Немного, наверное, путано, но надеюсь, что общий смысл ясен... |
|
|
0 / 0 / 0
Регистрация: 14.02.2007
Сообщений: 45
|
|
| 03.02.2011, 21:04 [ТС] | |
|
To Comanche: Спасибо за этот путь. Мне тут подсказали такой вариант (хотелось бы знать твое мнение): копирование и регистрацию всех необходимых библиотек (включая и Msvbvm60.dll, если ее нет, конечно) производить прямо из основной программы, где вначале запускается Main процедура (которая и делает все упомянутое выше), а потом уже появляется форма и все остальное, что будет эти dll использовать. Я никогда так не пробовал (т.е. запускать exe файл без VB библиотек, а грузить их в процессе выполнения), но ребята уверяют, что так можно. Твое мнение (или опыт)?
Спасибо
0
|
|
|
Messir
|
|
| 03.02.2011, 21:40 | |
|
просто положи msvbvm60.dll рядом с ехе-шником на диске. При запуске из main-a можешь скопировать все нужные компоненты в системный каталог, потом уже регистрировать их...
|
|
|
0 / 0 / 0
Регистрация: 14.02.2007
Сообщений: 45
|
|
| 03.02.2011, 21:53 [ТС] | |
|
To Messir:
Думаешь, даже на машину Клиента не надо Msvbvm60.dll копировать, а держать на CD? Я смотрел на Форуме обсуждение вопроса, какие ОС включают этот файл при установке. А так как меня интересуют ОС, установленные после 2000 г. (наверное, начиная с Win ME и т.д), то похоже, этот файл должен быть на машине (хотя, конечно, проверить нужно). Спасибо
0
|
|
|
Messir
|
|
| 03.02.2011, 21:55 | |
|
ну, можно и скопировать, конечно... в зависимости от того, есть лион уже на целевой тачке или нету...
|
|
|
Comanche
|
|
| 03.02.2011, 22:11 | |
|
2Messir:
>> просто положи msvbvm60.dll рядом с ехе-шником на диске... Неужто так просто? и _регистрировать_ его не надо?! Если так, то на фига 5 лет назад я мучался с этим Дельфи?! :-)))))))))))) |
|
|
Messir
|
|
| 03.02.2011, 22:19 | |
|
регистрировать его не нужно.
а вот зачем ты мучался - это вопрос немного не ко мне
|
|
|
0 / 0 / 0
Регистрация: 14.02.2007
Сообщений: 45
|
|
| 03.02.2011, 22:30 [ТС] | |
|
Я извиняюсь, что вмешиваюсь в вашу дискуссию по поводу регистрации Msvbvm60.dll, но, если посмотреть файл St6unst.log, который создается при стандартном Setup с использованием PDW, то там перечислены все файлы, которые необходимо скопировать и зарегистрировать для запуска VB приложения на Клиенте. Так вот там указано, что файл Msvbvm60.dll есть DllSelfRegister, что означает (по-моему)- нужна регистрация. Только файл Asycfilt.dll (из списка необходимых библиотек)не требует регистрации.
Спасибо
0
|
|
| 03.02.2011, 22:30 | |
|
Помогаю со студенческими работами здесь
16
Как удалить ссылку на запуск программы при удалении программы Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт Запуск внешней программы программы из коммнадной строки
Запуск программы только из другой программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|