на сколько не правильно устанавливать файлы exe и dll вручн

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

на сколько не правильно устанавливать файлы exe и dll вручн

Сообщение Elina » 16.04.2007 (Пн) 10:38

добрый день ,
очень нужна помощь в 2-х ситуациях

на работе системный администратор просто замучил тем что каждая программа при установке должна пройти registry

1 .помогите пожалуйста понять на сколько не правильно устанавливать (на рабочем компьютаре ) файлы exe и dll вручную т.е просто скапировать нужные dll в system32 ... и т.д. а сам файл exe в нужную папку - что при этом нарушается

2. как правильно устанавливать файл exe в сети .
я делаю так - просто сам файл exe сбрасываю в нужную папку в сети
а тем кому нужен доступ/запустить exe устанавливаю вручную нужные dll в system32 ... и т.д

на сколько это не правильно ?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2007 (Пн) 10:46

1. При этом нарушается всё, в лучшем случае перестанет работать только устанавливаемая программа, в худшем - ещё и все, что были установлены до неё.

2. Это совсем неправильно. Ничего никогда о дистрибутивах и инсталляторах не слышали?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

Сообщение Elina » 16.04.2007 (Пн) 12:01

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2007 (Пн) 12:04

GSerg писал(а):в лучшем случае перестанет работать только устанавливаемая программа, в худшем - ещё и все, что были установлены до неё.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 12:41

По идее, можно и так забрасывать в system, но потом вызвать для них
Regsvr32 /s имя_dll
Программисты не глючат - глючат компиляторы...

Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

Сообщение Elina » 16.04.2007 (Пн) 12:48

GSerg ,
какая связь ,каким образом это может навредить можно по подробнее
плз

Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

Сообщение Elina » 16.04.2007 (Пн) 12:54

что означает Regsvr32 /s имя_dll
как это вызвать - плз

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 12:58

Elina, ну вот так и вызвать. Или в командной строке или bat файл написать, если нужна автоматизация.

Regsvr32 - это регистратор саморегистрирующихся библиотек. Полное имя Regsvr32.exe и находится он в папке system32.
Программисты не глючат - глючат компиляторы...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2007 (Пн) 13:01

Elina, не пытайся искать и тем более обосновывать обходные пути правильного процесса установки.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 13:09

GSerg, мне казалось, что большинство установок вызывает именно regsvr32. Конечно, сложные программы, типа офиса так установлены не могут быть, но если известно, что за программа и какие компоненты должны быть зарегестрированы для её работы, то вполне можно пользоваться regsvr.
Программисты не глючат - глючат компиляторы...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2007 (Пн) 13:26

Ты будешь сам следить за тем, чтобы версии новоустанавливаемых компонентов были как минимум не старее имеющихся (потому что regxvr этого делать не будет), а также отвечать за все неожиданности в работе имеющихся программ, которые рассчитывали на старую версию компонента?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 13:36

GSerg, в большинсте случаев и инсталлятор за этим не следит, а просто заменяет на более новую версию и регистрирует (а бывают даже случаи, что и на более старую). Про некоторый portable софт и говорить нечего - творит жуткие вещи, особенно, если он изначально не был задуман, как portable, а был превращён в него "добрым дядей".
Программисты не глючат - глючат компиляторы...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2007 (Пн) 13:41

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

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 14:36

GSerg, а хороший инсталлятор находиться в Парижском музее мер и весов :)

Думаю, дискуссия сводиться к одному - если человек знает, что он делает, то можно и regsvr, если нет - то лучше грамотно инсталлировать.
Программисты не глючат - глючат компиляторы...

Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

Сообщение Elina » 16.04.2007 (Пн) 15:21

большое спасибо ,
хочу уточнить - нашла Regsvr32 ,запустила получила сообщение
no dll name specified

т.е если бы у меня была новая dll которую я скинула я получила бы окно где надо было бы ввести этой новой имя_dll

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 15:29

Elina, путь к dll указывается в командной строке.

Запускается cmd.exe (в system32) и в нём уже нужно набрать Regsvr32 /s имя_dll. Или на dll файле в менб выбрать "открыть с помошью" и выбрать regsvr32.
Программисты не глючат - глючат компиляторы...

Elina
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.09.2006 (Пн) 10:07

Сообщение Elina » 16.04.2007 (Пн) 15:53

надо уходить я попробую завтра ,надеюсь всё получится

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.04.2007 (Пн) 16:48

CodeName33 писал(а):Elina, путь к dll указывается в командной строке.

Запускается cmd.exe (в system32) и в нём уже нужно набрать Regsvr32 /s имя_dll. Или на dll файле в менб выбрать "открыть с помошью" и выбрать regsvr32.

Любителям мышей и окон, наверное, проще всего перетащить и бросить нужную библиотеку на regsvr32, в лучших яблочных традициях ;-)
Изображение

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.04.2007 (Пн) 16:54

tyomitch писал(а):Любителям мышей и окон, наверное, проще всего перетащить и бросить нужную библиотеку на regsvr32, в лучших яблочных традициях ;-)


Не думаю, что если они в одной папке, это будет проще :)
Программисты не глючат - глючат компиляторы...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.04.2007 (Пн) 17:48

Проще будет WK+R, regsvr32 lib.dll
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 17.04.2007 (Вт) 12:53

Хакер писал(а):Проще будет WK+R, regsvr32 lib.dll

Изображение
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 16:09

GSerg писал(а):Ты будешь сам следить за тем, чтобы версии новоустанавливаемых компонентов были как минимум не старее имеющихся (потому что regxvr этого делать не будет), а также отвечать за все неожиданности в работе имеющихся программ, которые рассчитывали на старую версию компонента?


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

Разве супер сложно написать утилитку которая сама проверит версию локального файла, скопирует при необходимости свежий файл с сервера и, если нужно, зарегистрит его и стартанет основную программу?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 16:14

Хакер писал(а):Проще будет WK+R, regsvr32 lib.dll


Не-а - проще

Код: Выделить всё

'*************************************************************
' Регистрирует/дерегистрирует указанный файл
'*************************************************************
Public Function RegSvr(sFileName As String, Optional bRegister As Boolean = False) As Long
    Const ERR_CANT_LOAD = 4&
    Const ERR_NO_ENTRY_POINT = 5&
    Const ERR_CANT_REGISTER = 6&
   
    Dim lb As Long, pa As Long, s As String, ss As String
    lb = LoadLibrary(sFileName)
    If lb Then
        s = IIf(bRegister, "DllRegisterServer", "DllUnregisterServer")
        pa = GetProcAddress(lb, s)
        If pa Then
            If CallWindowProc(pa, ByVal 0&, ByVal 0&, ByVal 0&, ByVal 0&) Then RegSvr = ERR_CANT_REGISTER
        Else
            RegSvr = ERR_NO_ENTRY_POINT
        End If
        FreeLibrary lb
    Else
        RegSvr = ERR_CANT_LOAD
    End If
End Function


Ибо нефиг вручную делать то что может сделать программа.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.04.2007 (Ср) 16:59

Andrey Fedorov писал(а):Не-а - проще

А ты в курсе, что в Vista изменили regsvr32, чтобы она стала учитывать хитрые вещи, творимые там с реестром?..
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.04.2007 (Ср) 19:47

GSerg писал(а):
Andrey Fedorov писал(а):Не-а - проще

А ты в курсе, что в Vista изменили regsvr32, чтобы она стала учитывать хитрые вещи, творимые там с реестром?..

Я -- нет.
И мне это очень актуально.
Где можно почитать?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.04.2007 (Ср) 20:04

По неизвестной причине именно сейчас у меня не открывается ничего из домена MS...
Сам видел, где не помню; нашёл бы, если бы открывалось. Мона погуглить.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.04.2007 (Ср) 20:59

Гуглил, но ничего более ценного, чем рекоммендация запускать regsvr32 только после элевации, не нашёл.
(К сведению остальных: Shell "regsvr32", равно как и приведённый Andrey-ем код, под Вистой больше не катят.)
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 21:28

GSerg писал(а):
Andrey Fedorov писал(а):Не-а - проще

А ты в курсе, что в Vista изменили regsvr32, чтобы она стала учитывать хитрые вещи, творимые там с реестром?..


В принципе с Vista у меня не пошел лишь один коммерческий компонент (думаю как раз по этой причине - RegSvr32 ему тоже не помогал. Но это даже к лучшему - сей факт подвиг меня на разборки и он был просто заменен кодом и выброшен из программы.
Последний раз редактировалось Andrey Fedorov 18.04.2007 (Ср) 21:43, всего редактировалось 1 раз.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2007 (Ср) 21:31

tyomitch писал(а):Гуглил, но ничего более ценного, чем рекоммендация запускать regsvr32 только после элевации, не нашёл.
(К сведению остальных: Shell "regsvr32", равно как и приведённый Andrey-ем код, под Вистой больше не катят.)


Катят, катят. Иначе бы у меня вообще ничего не работало. Как думаешь тот же инсталятор все регистрит - или моим способом или запуская RegSvr32 по тихому. Другого не изобрели, да и когда писали действующие программы на Vista явно не рассчитывали, а ведь работают...

А вот под 95 и NT4 у приведенного мной кода в свое время были проблемы, потому там раньше стояла проверка версии Windows и на них запускался RegSvr32...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.04.2007 (Чт) 8:05

Вспомнил, блин, где читал.
http://www.jrsoftware.org/files/is5-whatsnew.htm
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

След.

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 41

    TopList