|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Доброго время суток! Подскажите пожалуйста есть ли возможность сделать какой-то лицензионный код для программы в Visual Basic 6.0 Я вообще не знаю можно ли это сделать и на какой стадии. Может при создании инсталляционного пакета? Подскажите пожалуйста подробно, я чайник в этом полный <_< ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 09:54 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Самый простой способ — воспользоваться инсталлятором, имеющим функцию генерации серийников. Такая фича есть в Setup Factory, кроме того он понимает проекты VB6 и сам из него подтягивает необходимые компоненты. Но он платный. Но есть кряки. Само собой, ничто не помешает переписать программу (вместе с компонентами) на другой компьютер после установки. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 10:43 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy Само собой, ничто не помешает переписать программу (вместе с компонентами) на другой компьютер после установки. Что вы имеете в виду? Т.е. если я установлю кому-то программу. Он сможет ее потом установить без екзешника на др. комп?? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 10:49 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Для выбора технологии (а потом и инструментов) защиты ПО Вы сначала должны определиться, какими ресурсами и возможностями для этого Вы обладаете, какие именно задачи решаете и какие именно ограничения намерены ввести. А пока Вам можно чёрт те чего насоветовать, и всё это в Ваших условиях по тем или иным причинам окажется неприменимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 10:53 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Akina, Я же сразу предупредил что в этом вообще чайник. Скажу просто:- Мне нужно чтобы установив на 1 комп, программу не так уж и просто было перенести на другие! А как это сделать я не знаааааююю!!!! Для этого тут вас и спрашиваю. Сами понимаете что раз я в этом здравствуй дерево, то подойдет самый простой и при этом надежный способ! У меня только VB6 и его стандартный упаковщик и всеее. Если что-то нужно могу без проблем скачать. Только подскажите как и что. Плииииз ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 12:17 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameron, Вам для начала надо погуглить, ибо тема эта далеко не короткая. Вы можете написать и свою процедуру создания ключа - главное понимать на что Вы его хотите завязать и хотите ли. Если цель тупо без привязки к чему-либо сделать уникальный ключ, то создайте массив символов(латиница в разных регистрах, числа, может иные симпатичные Вам символы) и из этого массива случайным отбором собираете в одну строку символы. Длину строки можно сделать 20-символьной или больше. Чем больше символов - тем меньше шансов получить на двух разных ПК идентичный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 12:52 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
The_Prist, Звучит красиво))) Но я это не смогу сделать. Вообще не работал ни с массивами. и никогда не делал этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 13:12 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronВообще не работал ни с массивами. и никогда не делал этогоНу тогда изучайте, что еще можно сказать. Если Вы даже этого не знаете - нафига вообще какой-то ключ? К чему должен быть этот ключ? К программе из одного MsgBox-а? Вы просили подсказать как и что - мы подсказали. Дерзайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 14:40 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
The_Prist, Спасибо за помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 14:46 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronМне нужно чтобы установив на 1 комп, программу не так уж и просто было перенести на другие!Ну вот первейший вопрос - Вы лично будете ставить эту программу? Или кто-то другой, в наличии такой защиты не сильно заинтересованный? Надеюсь, Вы понимаете, что защита, поставленная в первом случае, вовсе не обязательно может быть поставлена во втором? по-моему, это должно быть очевидно даже тому, кто с деревом здоровается... И это не единственный вопрос, на который Вы (если бы не паниковали, а подумали) должны были уже, сразу, изначально, без наших пинков, дать ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 15:15 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronAntonariyСамо собой, ничто не помешает переписать программу (вместе с компонентами) на другой компьютер после установки. Что вы имеете в виду? Т.е. если я установлю кому-то программу. Он сможет ее потом установить без екзешника на др. комп??Не без экзешника, а без дистрибутива. Да - обладая познаниями о разработке на уровне выше чайника. А вы как чайник на что рассчитывали? Нечайникам уже давно известно, что надежно защитить программу на VB невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 17:53 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Api функция получения номера жесткого диска, чтобы привязать к компу (примеров масса) и xor тут можно почитать http://maxim.int.ru/stuff/xaxaxakep/?074/112/1.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2014, 18:04 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
AkinavdekameronМне нужно чтобы установив на 1 комп, программу не так уж и просто было перенести на другие!Ну вот первейший вопрос - Вы лично будете ставить эту программу? Или кто-то другой, в наличии такой защиты не сильно заинтересованный? Я лично буду устанавливать ее! Просто как то обидно. Делал делал, вас тут всех замучил. Сделал наконец! Создал дистрибутив. Установил на рабочем компе. Зашел в C:\Program files скопировал установленную папку с программой. Пришел домой. Бац, без проблем себе запустилась. И даже устанавливать не нужно мл. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 00:41 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Я понимаю что допустим для вас не составит труда взломать дистрибутив сделанный в VB6 . Но есть же все-таки какие-то элементарные защиты. Не все же такие продвинутые. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 00:43 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Скажите Setup Factory поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 00:51 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameron И даже устанавливать не нужно мл. :(Можно вынести некоторые функции в отдельную dll, которую устанавливать в системную папку. Тогда при копировании лишь папки с exe на другой комп, exe будет ругаться на отсутствующую библиотеку. Если обращаться к dll через позднее связывание, то можно вместо системной ошибки, указывающей на то, какой именно библиотеки не хватает, вывести своё сообщение. Если такого уровня защиты достаточно, то достаточно и setup factory. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 11:03 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Я свое ПО защищал так: Написал программу-регистратор рабочего места. 1 - она собирала все, до чего могла дотянуться - версию ОС, процессора, памяти, серийники дисков, и оставляла в реестре спец. метки о пройденной процедуре регистрации. 2 - по результатам сборки иф. регистратор рабочего места составлял хеш, отправляемый на сервер. 3 - на сервере выполнялась сборка программы с прошитым в скрытых ресурсах хешем 4 - готовая программа отправлялась на рабочее место, и при старте собирала инф. о рабочем месте и сверяла со вшитым в нее хешем, и проверяла в реестре спец. метки о прохождении процедуры регистрации. Разумеется, хеш не хранится в исполняемом файле "просто так" как обычная строка, там задействованы методы генерации символьных последовательностей "на лету" (авто-генерация С++ кода исходника) , поэтому без дизассемблера и прохода по всем переходам- не разобраться. В случае обновления железа или ОС нет проблем пройти повторную регистрацию рабочего места и выполнить новую сборку программы. Использовалось не для продажи программ, а для установки ПО внутри организации. Просто, ПО было критически важным и поэтому такие "строгости". Мне этого хватало. Но, как сказали уже ранее, у всех свои задачи и ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 13:05 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariyvdekameron И даже устанавливать не нужно мл. :(Можно вынести некоторые функции в отдельную dll, которую устанавливать в системную папку. Тогда при копировании лишь папки с exe на другой комп, exe будет ругаться на отсутствующую библиотеку. Если обращаться к dll через позднее связывание, то можно вместо системной ошибки, указывающей на то, какой именно библиотеки не хватает, вывести своё сообщение. Если такого уровня защиты достаточно, то достаточно и setup factory. Такого будет достаточно) Уже скачал setup factory порылся там, посмотрел. Там, как вы говорили нашел возможность генерить серийники. Я сгенерировал 2 для проверки и указал что можно устанавливать программу 2 раза(истечение срока). Собрал дистрибут. Когда устанавливал вышло сообщение о том что можно установить только 2 раза а вот про серийники ни слова. Может их как то цеплять еще нужно. В мастере при создании дистрибута ничего не предлагалось. И если можно расскажите подробно как с dll это проделать...там в стандартных тоже этого нет. Получается если юзер найдет эту dll библиотеку тогда сможет перекинуть на др. комп. А если выводить свое сообщение как вы сказали вместо сис. ошибки, то будет сложнее найти, я правильно понимаю? Заранее спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 18:07 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Я давно не пользовался SF, уже не помню, что там и как конкретно, а конкретно серийниками не пользовался вообще, просто отметил эту фичу. У SF есть несколько типов диалогов, которые появляются по ходу установки, возможно ввод серийника это один из диалогов, который нужно добавить. авторИ если можно расскажите подробно как с dll это проделать...там в стандартных тоже этого нет.Это нужно делать не в SF. Создается новый vb-проект типа ActiveX dll, по умолчанию это будет Project1 с Class1. В Class1 из программы переносится какая-нибудь функция: Код: vbnet 1. 2. 3.
Проект компилируется. В основной программе делается следующее: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
В SF Project1.dll нужно будет добавить руками и указать, что его нужно устанавливать в системную папку. Можно даже не переносить ничего, а использовать ровно этот код как проверку наличия Project1.dll авторА если выводить свое сообщение как вы сказали вместо сис. ошибки, то будет сложнее найти, я правильно понимаю?Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2014, 23:25 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameron...... Зашел в C:\Program files скопировал установленную папку с программой. Пришел домой. Бац, без проблем себе запустилась. И даже устанавливать не нужно мл. :( это где ты так зашёл а а если зашёл и - тыгдын то тады - >> поф в тч Пришел домой .. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2014, 00:42 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy,Я давно не пользовался SF, уже не помню, что там и как конкретно А в том , чем вы пользуетесь нет поддержки генерации серийников? Можно даже не переносить ничего, а использовать ровно этот код как проверку наличия Project1.dll Я правильно понял, что функцию можно не переносить и вообще можно ничего не переносить. А сделать пустой dll и просто проверять его наличие? И еще вопрос у меня к вам. Если переносить то обязательно функцию? Т.е. если я перенесу процедуру то не сработает? В основной программе делается следующее: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Для меня это все новое. Но я почитал об этом и разобрался чтобы понять. Я так понимаю что on error resume next приостанавливает обработку ошибок. Объясните пожалуйста что делает эта строка Set zzz = CreateObject("Project1.Class1") По смыслу я понимаю что она тут основополагающая , вот только хочется понять ее смысл а не тупо написать. И что вот эти две строчки значат? Код: vbnet 1. 2.
Может вместо этого просто написать Err.Clear() или я вообще не в ту степь? А вообще огромное спасибо, направили меня в нужное русло и очень доступно объясняете, даже я понимаю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2014, 17:00 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Извините, снова коряво процитировал :( Модератор: поправил еще раз 1) научитесь пользоваться предпросмотром 2) включите в профиле "быстрый ответ" - там есть нормальное цитирование ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2014, 17:03 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameron , да эта возня с ДЛЛ - до первого запуска процмона. Ерунда, одним словом. Уж тогда просто и тупо на любой файл - исполняемый или вспомогательный - довесь поток. Он влоб не виден, просто так, без специальных телодвижений, не копируется, ламерами не обнаруживается... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2014, 22:26 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
А в том , чем вы пользуетесь нет поддержки генерации серийников?У меня даже нет в них нужды. Если переносить то обязательно функцию?Не обязательно. Я так понимаю что on error resume next приостанавливает обработку ошибок.Не приостанавливает обработку, а изменяет режим обработки. Объясните пожалуйста что делает эта строка Set zzz = CreateObject("Project1.Class1") Создает экземпляр класса — объект. И что вот эти две строчки значат?Первая восстанавливает режим, который был до resume next. Если ничего не было, то по умолчанию — on error goto 0. Вторая ничего не значит, если никакой логики переносить не будем. Может вместо этого просто написать Err.Clear() или я вообще не в ту степь?Эта команда обнуляет информацию о последней ошибке. При изменении режима обработки это происходит автоматически. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 11:25 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Пока более-менее понятно, спасибо Нужно попробовать теперь сделать это. Я правильно понимаю. в dll я переношу допустим процедуру:- Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
а вместо нее в проекте пишу:- Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вот только вместо этого что? aaa = zzz.xxx(111) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:05 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, По поводу серийников уже разобрался тоже! Сейчас еще хочу почитать как настроить чтобы закинуло этот dll в системную папку. Оно закинет в какую-то определенную? Допустим я создам таких dll три, все три кинет в одну папку? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:07 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Akina, AkinaУж тогда просто и тупо на любой файл - исполняемый или вспомогательный - довесь поток. Я же попросил людей на этом форуме помочь мне, объяснить как для особо одаренных в плане программирования. Я не понимаю этих терминов Akinaдовесь поток Но мне не лень разобраться, если хотя бы объясняют понятно. Antonariy взялся помочь потому что я сказал что мне подойдет такая "защита". Лично я бы не смог бы взломать ее. Хотя может если очень захотеть то можно и программистом стать хорошим. Все от желания зависит. Расскажите про ваш вариант, кот. вы посоветовали, если не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:15 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronЯ правильно понимаю. в dll я переношу допустим процедуру:-нет, dll-ка не знает ничего про ваши формы и контролы там может быть только абстрактный расчет без обращения к данным основного приложения (если вы только не передаете их в виде параметров) vdekameronВот только вместо этого что? aaa = zzz.xxx(111)aaa = zzz.Raschet_na_deni() ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:21 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronAntonariy, Пока более-менее понятно, спасибо Нужно попробовать теперь сделать это. Я правильно понимаю. в dll я переношу допустим процедуру:- Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Эту процедуру переносить нельзя, она зависит от контролов на форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:34 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Тогда есть вот такая одна из основных процедур. В ней вроде нет ничего что зависит от формы? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Переношу ее, а на ее месте записываю... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Или можно не обязательно вместо нее а в любом месте? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:47 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronТогда есть вот такая одна из основных процедур. В ней вроде нет ничего что зависит от формы?первая же строка - что такое NB? поймите суть. dll-ка - это независимый модуль, он НИЧЕГО не знает о том, кто его вызовет, это может быть любая программа на любом языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 12:51 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.Proпервая же строка - что такое NB? Это просто переменная, что даже переменные не могут быть перемещены? А что же тогда можно. Получается тогда надо просто делать ссылку на пустой dll ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 14:14 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
могут - их надо передать в виде параметров процедуры. Можно, в принципе, передать даже ссылку на форму, только это надо СДЕЛАТЬ, сама по себе без вас dll-ка ничего не узнает, повторю, ей ВСЕ РАВНО, кто конкретно ее вызовет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 14:19 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.Proмогут - их надо передать в виде параметров процедуры. Можно, в принципе, передать даже ссылку на форму, только это надо СДЕЛАТЬ Да я не против сделать я даже этого очень хочу! Подскажите КАК это делается 1) передать в виде параметров процедуры или 2) передать ссылку на форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 14:44 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Антонарий уже давал пример, что тут еще требуется добавить? 17062689 Если вы не знаете, что такое параметр функции (а это на первых страницах учебника по языку), то начать надо с учебника, ну не будем же мы, в самом деле, лекции по азам читать? (впрочем, почему нет, индивидуальное преподавание, думаю, что 3000/час нормально будет ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 14:50 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.ProАнтонарий уже давал пример, что тут еще требуется добавить? Придется тогда так делать) Как посоветовал Антонарий, раз у вас нет желания и времени провести ликбез А книжку я обязательно почитаю, мне самому интересно! Сейчас просто нет времени на книжку, было бы время не нуждался бы в ваших подсказках! Надеюсь все получится. Не могу еще найти как в setup Factory указать куда эту dll закинуть ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:11 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro(впрочем, почему нет, индивидуальное преподавание, думаю, что 3000/час нормально будет ))) Это просто мое хобби, если бы зарабатывал на этом деньги, как вы, то думаю для того, чтобы повысить свой уровень мне не сложно было бы заплатить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:20 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Это понятно, и вы бы не получили столько ответов, если бы не демонстрировали желания разобраться. Однако, есть какой-то разумный предел, где человек уже должен что-то делать сам. На досуге, можете почитать вот эту статью - будет познавательно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 15:22 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Прочитал, действительно оказалось полезным. Теперь понимаю почему часто получал раздраженные ответы! Учту все это в будущем. Постараюсь сам разобраться со всем, что вы советовали мне выше. Максимально почитаю, поищу в интернете. Если чего-то не пойму, спрошу. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2014, 20:38 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, 1) Создал как вы сказали проект ActiveX dll 2) Скомпилировал. Сохранил туда же , где и проект. Его название Проект1.dll Сам проект не сохранял. (Сам проект пустой) Буду просто проверять на наличие этого dll 3) Записал себе в программу код вот сюда Код: vbnet 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.
4) Запустил проект. При выполнении процедуры в кот. записал ваш код выдает msg "Программа работать не может пичалька. Так должно быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 12:30 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronЕго название Проект1.dllvdekameron Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 12:32 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Antonariy, Нашел как в SF устанавливать файлы в нужные папки. Там есть в свойствах - destination ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 12:33 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Разобрался уже. Я сначала так и подумал, что дело в ссылки на несущ. файл из-за имени. Переименовал. Все-равно не шло. Сейчас просто грохнул dll и когда создавал новый, то уже корректно указал название проекта и имя! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 12:42 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronПереименовал. Все-равно не шлоdll-ка не просто лежит на диске, она еще должна быть зарегистрирована в реестре, чтобы можно было ее увидеть через CreateObject. Студия автоматически регистрирует dll-ку при компиляции по месту компиляции. Установщик зарегистрирует ее по месту копирования. Можно вручную зарегистрировать ее командой regsvr32. В связи с этим простое переименование файла библиотеки ничего не даст. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 12:50 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.Prodll-ка не просто лежит на диске, она еще должна быть зарегистрирована в реестре, чтобы можно было ее увидеть через CreateObject Я уже понял это после того, как вы мне указали на разные имена! Я наконец вроде во всем с горем пополам разобрался. Но уткнулся вот в какую проблему. Ну во-первых в проекте сейчас все работает как надо. Т.е. есть dll в папке с проектом- все работает. Нет dll - " пичалька" -отрабатывает как и задумывалось. НО .... Решил поэкспериментировать. Закидываю в SF все файлы программы в т.ч. dll. Создаю дистрибут. Устанавливаю на комп. Иду в папку куда установил( dll установил в эту же папку). Удаляю dll. Запускаю проект. Вуаля, все работает, никакой " пичальки" ((( Все дело снова в реестре? Если я сейчас заберу эту установленную папку БЕЗ этого dll и закину на др. комп. Ему будет " пичалька"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 13:28 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronУдаляю dll. Запускаю проект. Вуаля, все работает,На том же компе, где и студия? неудивительно, втыкай мое предыдущее сообщение vdekameronЕсли я сейчас заберу эту установленную папку БЕЗ этого dll и закину на др. комп. Ему будет " пичалька"?будет ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 13:35 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Смогу проверить только когда домой приду) Но раз вы сказали что Shocker.Proбудет значит я уже в этом уверен!!! Приду, отпишусь, спасибо огромное!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 13:48 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
А что, на работе один комп и тот у тебя? Ты крутой чел! Поставь виртуалку ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 13:53 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.ProА что, на работе один комп и тот у тебя? Ты крутой чел! Да ну ясно что крутой но комп не один)) Работа просто такая, что стоит только кому-то показать и эта слава "супер программаста" достанется другому. Мне за нее ничего не заплатят, делаю ее только из интереса. Во-первых нравится мне это. Во-вторых мне это облегчит работу. А кто захочет, я не жадный, установлю, НО... вот для этого но и создал эту тему! Shocker.ProПоставь виртуалку Эт хорошая мысля! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 14:29 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Как вы уже поняли, я пошел по легкому пути - буду пользоваться пустым dll. Может если пойму как передать процедуру в dll сделаю как положено Нарыл такую статью. http://sitesaid.ru/VB/vb proced.html Вот такую простейшую процедуру типа Sub Код: vbnet 1. 2. 3. 4.
можно передать вот так в dll в виде параметра? Код: vbnet 1. 2. 3.
Извините за упертость ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 16:44 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
да только изменения переменной "а" в процедуре не отразятся на переменной "а" в вызывающем коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 16:56 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Proтолько изменения переменной "а" в процедуре не отразятся на переменной "а" в вызывающем коде. Ага понятно!!! Нарыл вот еще в интернете такой модификатор ByRef Получается, что если запишу в таком виде, то при изменении переменной "а" в основной программе изменится и переменная "b" в dll, так как "а" будет связана ссылкой, а не просто скопирована. Ход мыслей правильный? Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 20:25 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
да Вообще это в принципе про параметры процедур, не только в dll Но если возвращать надо только одно значение - лучше пользоваться Function вместо Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 20:38 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо большое Буду пробовать!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2014, 20:45 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Что то я понять не могу. Вчера сидел весь вечер колдовал/пробовал. Подумал утро вечера мудренее. Сегодня перечитал User's Guide в SF. Там хоть на англ. все, но не поленился позакидовал все в переводчик. Вроде все правильно делаю. Кидаю dll во вкладку External затем в свойствах указываю - установить в папку C:\Windows\1 , которую сам создал для тренировки. Создаю дистрибут. А когда устанавливаю выдает ошибку - Could not open imput file. Потом подумал а вдруг этот ActiveX надо зарегистрировать. В свойствах есть такая фича. Ткнул галочку....не помогло.У меня есть подозрение что тут дело все в пути, которое я указываю. Но перед тем как написать тут я попробовал и так и сяк. Указываю папку во время выполнения - %1% и Адресат-инсталировать в %WindowsFolder% Все-равно ошибка! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2014, 10:49 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
авторПолучается, что если запишу в таком виде Немного не так: ByRef Это как и Variant в типе переменной. Это тип по умолчанию. Т.е. если не будет ByRef, то переменная всё равно изменится. Вот что бы не менялась надо передавать как ByVal ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2014, 14:31 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronпри изменении переменной "а" в основной программе изменится и переменная "b" Почти. В вашем примере, параметр процедуры имеет тип Integer - он значимый тип, а не ссылочный. И после присвоения переменной "b", b - зафиксирует значение переданного параметра. И изменение где-то параметра "a", вне данной процедуры, не изменит значение "b". Для работы сего, лучше и правильнее передавать объекты, для них работает правило - передаёшь по ссылке или по значению ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2014, 17:53 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
По поводу того, как перенести процедуру я попробую разобраться. Нарыл в гугле ссылку www.codenet.ru/progr/vbasic/Create-DLL/ Но проблема больше не в этом, а в том , что у меня не получается потом этот dll установщиком кинуть в системную папку. Я писал выше об этом подробно, но либо никто не работал в SF , либо просто не отписал. Выводит ошибку хоть убей. Уже 3 раза тестил. И так и сяк. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2015, 15:22 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
vdekameronПо поводу того, как перенести процедуру я попробую разобраться. Нарыл в гугле ссылку www.codenet.ru/progr/vbasic/Create-DLL/ Но проблема больше не в этом, а в том , что у меня не получается потом этот dll установщиком кинуть в системную папку. Я писал выше об этом подробно, но либо никто не работал в SF , либо просто не отписал. Выводит ошибку хоть убей. Уже 3 раза тестил. И так и сяк. используй лучше InnoSetup ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2015, 22:06 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
wamacoиспользуй лучше InnoSetup Мне нужна еще фича- лицензионный номер, которая есть в SF и нет в Inno Вообще нифига понять не могу. Как только кидаю dll в общую кучу, все норм. Как только пытаюсь его отдельно куда-то. Ошибка мл. Я уже думал может он в сис. папки не хочет. Уже указал диск D\ один хрен. Инструкцию уже раз 5 перечитывал ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2015, 00:26 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.ProОднако, есть какой-то разумный предел, где человек уже должен что-то делать сам. На досуге, можете почитать вот эту статью - будет познавательно Я конечно понимаю что наглею. Но уже совсем отчаялся. Перерыл интернет, не могу найти форум по SF. Вернее есть один, но сайт закрыт. Получается все время которое занял у вас на свою тему потрачено зря( Застрял на том, что не могу закинуть dll установщиком в любую другую папку при инсталляции. Не могли бы вы взлянуть на мое сообщение http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1134626&msg=17076084 Может даже если вы не работаете с SF, все-равно опытным взглядом сразу заметите ошибку. Уже не знаю что делать. Посмотрите плиз. Последняя просьба к вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2015, 00:39 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
На скриншоте говорится о том, что он не может открыть именно исходный файл при установке, возможно, вы не настроили, чтобы он оказался в нужном месте при установке. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2015, 01:26 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Shocker.Pro, Когда кидаю dll перед созданием дистрибута во вкладку SF "Archive", тогда все получается ( в этом случае при установке dll попадает со всеми файлами в папку установки) А когда кидаю его во вкладку "External" (из инструкции я понял что эта вкладка нужна для файлов, которые могут быть куда-то распространены) и в свойствах указываю куда его установить. Shocker.Proвозможно, вы не настроили, чтобы он оказался в нужном месте при установке. Там на скриншоте я показал что указываю куда установить. Папка во время выполнения %1% и Адресат %WindowsFolder% При чем я грешил именно на то, что неправильно путь указываю, пробовал по-другому:- 1) папка во время вып. C:\Windows\1 и адресат такой же 2) папка во время вып %SourceDrive% , адресат С:\Windows\1 3) %1% и просто %Windows% Без Folder Итог - Could not open input file Я не думаю что с прогой что-то. При установке встала нормально. Да и повторюсь что когда с общим пакетом, то все гуд. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2015, 10:47 |
|
Лицензионный код при установки программы
|
|||
---|---|---|---|
#18+
Бинго-бонго!!!!!!!!!!!!!!! Фуууууууууууууу получилось. Может кому-то поможет. 1) Если нужно чтобы файл распаковывался с самого дистрибутива и кидался например в папку windows, то нужно его вместе с остальными помещать во вкладку Archive а не External. И в его свойстве просто указать destination - %WindowsFolder%. Свойство Run time folder будет по умолчанию Archive 2) Если же нужно брать этот файл не с дистрибута, а с другого носителя. Например прога будет устанавливаться с флешки. В этом случае файл кидаем во вкладку External и в свойствах указываем:- Run time folder- путь к вашей флешке(откуда он будет браться) Destination - куда он будет устанавливаться Спасибо огромное Shocker.Pro антонарию и всем кто принял участие в помощи Всех с Новым Годом и Рождеством! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2015, 14:59 |
|
|
start [/forum/topic.php?all=1&fid=60&tid=2156075]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
97ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 479ms |
0 / 0 |