Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
 
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
#1

Написать "заплатку" к своей программе - VB

08.06.2014, 18:03. Просмотров 975. Ответов 24
Метки нет (Все метки)

Не откажите в любезности подсказать - что и где прочитать.
Есть своя, установленная у заказчика, программа на vb6 (*.exe и *.dll'ки).
Задача1 - заменить *.exe.
Задача2 - заменить *.dll'ки.
Без переустановки самой программы.
Искал по форуму - не нашел (по кл. словам - заплатка, патч, path и их комбинации).

Благодарствую за любую подсказку.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 18:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать "заплатку" к своей программе (VB):

Как в этой программе изменить то что во вкладке "о программе"
Здравствуйте, уважаемый народ. Подскажите как в этой программе изменить то что...

Создать раздел меню "Правка" и продумать логику команд "копировать", "вставить"
Здравствуйте! Все никак не могу написать код для раздела меню Правка! Есть...

Создать тип "Book" и в нём сделать пункты "автор" и "количество страниц"
нужна задача на наследование, т. е. создать родителя и наследника. создать тип...

Указать для каждого вопроса проценты ответов "да", "нет", "не знаю"
В двухмерном массиве размером nхm хранятся результаты опроса n человек на m...

Указать для каждого вопроса проценты ответов "да", "нет", "не знаю"
Здравствуйте господа программисты и сисадмины.Помогите пожалуйста начинающему с...

"имитатор сигнала","имитатор помехи", "фильтр" и программу "построитель графика"
требуется составить программу "имитатор сигнала","имитатор помехи", "фильтр" и...

24
The trick
Модератор
7342 / 2563 / 752
Регистрация: 22.02.2013
Сообщений: 3,782
Записей в блоге: 76
08.06.2014, 19:11 #2
Что собственно не получается? Пиши программу, которая проверяет запущены ли твои процессы, завершай при необходимости, копируй файлы exe (если ActiveX EXE, то сначала снять регистрацию, а только потом копировать файл и его регистрировать), тоже самое и с DLL. Файлы можешь хранить в ресурсах.
1
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
08.06.2014, 19:16  [ТС] #3
Цитата Сообщение от The trick Посмотреть сообщение
Пиши программу,...
Если я правильно понял алгоритм патча следующий
- удаляем старый exe'шник
- чистим реестр от его следов
- из файла ресурсов выбираем новый exe'шник
- копируем его на то же место, что и старый
- регистрируем новый.
Верно?
0
The trick
Модератор
7342 / 2563 / 752
Регистрация: 22.02.2013
Сообщений: 3,782
Записей в блоге: 76
08.06.2014, 19:22 #4
Цитата Сообщение от OldFedor Посмотреть сообщение
Если я правильно понял алгоритм патча следующий
- удаляем старый exe'шник
- чистим реестр от его следов
- из файла ресурсов выбираем новый exe'шник
- копируем его на то же место, что и старый
- регистрируем новый.
Верно?
Нужно сначала проверить, запущена ли старая версия проги. Если да, то попросить закрыть ее (самому закрыть), только потом преступить к перерегистрации и копированию.
1
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
08.06.2014, 19:26  [ТС] #5
Цитата Сообщение от The trick Посмотреть сообщение
Нужно сначала проверить, запущена ли старая версия проги
Понял.
Цитата Сообщение от The trick Посмотреть сообщение
только потом
Но что потом, я описал верно? Ни чего не опустил?
0
The trick
Модератор
7342 / 2563 / 752
Регистрация: 22.02.2013
Сообщений: 3,782
Записей в блоге: 76
08.06.2014, 19:34 #6
Цитата Сообщение от OldFedor Посмотреть сообщение
Но что потом, я описал верно? Ни чего не опустил?
В общем случае так, остальное известно только разработчику.
1
raxp
10180 / 6563 / 491
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
08.06.2014, 21:18 #7
Лучший ответ Сообщение было отмечено The trick как решение

Решение

...через Интернет?

Cкачай все три файла отсюда https://sourceforge.net/projects/guiforrrtlpower/files/update, думаю, разберешся.
2
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 10:27  [ТС] #8
Цитата Сообщение от raxp Посмотреть сообщение
Cкачай все три файла отсюда
Не понял, raxp. Панорамный индикатор...

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

Не по теме:

Понял.



Добавлено через 12 часов 54 минуты
Разобрался, raxp. Штука полезная, благодарствую.
Однако, нужен классический вариант - пишется программа обновления программы.
0
dev.Free
Заблокирован
09.06.2014, 11:43 #9
OldFedor, А Winrar чем не устраивает? все команды есть в нем. создайте sfx архив.
1
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 11:51  [ТС] #10
Цитата Сообщение от dev.Free Посмотреть сообщение
создайте sfx архив.
Попробую, спасибо.
0
dev.Free
Заблокирован
09.06.2014, 11:56 #11
OldFedor, Я так делаю обновления к программам. Высылаю архив, они запускают, указывают папку где лежит программа. И все. Остальное все делает архив. Или создайте установочный архив, Smart Install Maker тоже отличная программа.
1
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 12:02  [ТС] #12
Благодарствую, dev.Free. Уже экспериментирую.
0
raxp
10180 / 6563 / 491
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
09.06.2014, 12:56 #13
Однако, нужен классический вариант - пишется программа обновления программы.
ну, а в итоге то оно все равно что делает? Скачивает и заменяет.

Тут алгоритм расписан:
- запускается батник
- он ищет в процессах запущенную копию указанной, убивает ее
- скачивает архив с сервера обновлений
- распаковывает со всеми потрохами, исполняемыми и dll
- производит замену и запускает, все.
0
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 13:07  [ТС] #14
Цитата Сообщение от raxp Посмотреть сообщение
Скачивает и заменяет.
Нет, raxp.
Именно классический ("старый") вариант - обновление на диске, флэшке.
По Вашему предложению просто надо пропустить некоторые шаги.
0
raxp
10180 / 6563 / 491
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
09.06.2014, 13:16 #15
...тогда действительно хватит winrar-а или плагина sfx в тотале, он тоже способен создавать самораспаковывающиеся архивы.
0
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 13:20  [ТС] #16
Сейчас этим и занимаюсь.
Проблема уже в том - как грамотно удалить старый файл.
Думаю, до меня это делали не однократно.
Ищу.
0
dev.Free
Заблокирован
09.06.2014, 13:27 #17
Цитата Сообщение от OldFedor Посмотреть сообщение
Проблема уже в том - как грамотно удалить старый файл.
А что сложного? Мне кажется вы для себя сами проблемы создаете в каждом кусочке кода.
0
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 13:32  [ТС] #18
Цитата Сообщение от dev.Free Посмотреть сообщение
Мне кажется вы для себя сами проблемы создаете
Возможно Вы и правы. Я не большой спец.
Но Гуру мне пояснил, что надо чистить реестр, найти все следы этого файла и
уничтожить. И только потом регистрировать новый.
Для меня сейчас главное чистить и регистрировать.
Ни когда этим прежде не занимался.
0
raxp
10180 / 6563 / 491
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
09.06.2014, 13:52 #19
ммм... тогда давайте оговорим исходные данные: что за файл, что он делает с системой и делает ли вообще. Не все пишут исполняемые файлы, загаживающие реестр или регистрирующие интерфейсы.

Есть альтернатива - Inno Setup инсталлятор, можно указать что ставить, где прописывать, что разрегистрировать и регистрировать. С другой стороны батничек тем и хорош, что все это можно сделать из него: и запустить и удалить, и даже зарегить и разрегить COM/OLE, и в реестре прошарить и с dll-ками поработать. И ничего для его модификации не надо, достаточно блокнота.

Пример получения адин-прав и работы с реестром:
Код
@echo off
echo This script must be run with Admin Privilegies
echo.

:: Checking system version
Set "xOS=x64"& If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set "xOS=x32"
echo System is %xOS%
echo.

if "%xOS%"=="x64" call :Reg_x64
if "%xOS%"=="x32" call :Reg_x32

echo.
pause
exit /B


:Reg_x32
  echo Registering x32 library

  copy /y "%~dp0lib\GoogleSpeechRecognizeAPI3.dll" "%windir%\System32\*"
  copy /y "%~dp0lib\libeay32.dll" "%windir%\System32\*"
  copy /y "%~dp0lib\libFLAC.dll" "%windir%\System32\*"
  copy /y "%~dp0lib\ssleay32.dll" "%windir%\System32\*"

  reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

  if %errorlevel%==0 (echo Registration - OK.) else (echo Registration - FAILED !!! Code: %errorlevel%)
  echo Registering x32 library
Exit /B


:Reg_x64
  copy /y "%~dp0lib\GoogleSpeechRecognizeAPI3.dll" "%windir%\SysWOW64\*"
  copy /y "%~dp0lib\libeay32.dll" "%windir%\SysWOW64\*"
  copy /y "%~dp0lib\libFLAC.dll" "%windir%\SysWOW64\*"
  copy /y "%~dp0lib\ssleay32.dll" "%windir%\SysWOW64\*"

  reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

  if %errorlevel%==0 (echo Registration - OK.) else (echo Registration - FAILED !!! Code: %errorlevel%)
  echo Registering x64 library
Exit /B
1
OldFedor
7452 / 4119 / 471
Регистрация: 25.08.2012
Сообщений: 11,482
Записей в блоге: 11
09.06.2014, 14:02  [ТС] #20
Цитата Сообщение от raxp Посмотреть сообщение
оговорим исходные данные
Благодарствую, raxp. Inno Setup нашел, буду экспериментировать.
А исходный файл...
Писалась программа на VB6. Инсталлятор был штатный - PDCMDLN.EXE из того же пакета.
Сейчас и разбираюсь через SETUP.LST что он и куда прописывал.
0
09.06.2014, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 14:02
Привет! Вот еще темы с решениями:

Как преобразовать рисунок из "png" в "bmp" или в "jpg"?
Есть программка, которая ставит обои рабочего стола на выбор пользователя, она...

Как описать в программе "ни одно из условий не выполнилось"?
значит вводим буквы английского алфавита i, v, x, l, c, d, m, их значения...

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

нужно,чтоб при нажатии на пункт меню "Справка" появлялось новое окошко (форма) с информацией об авторе и программе
Мне нужно,чтоб при нажатии на пункт меню "Справка" появлялось новое окошко...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru