exe builder

8 отговора 279 прегледа
#1

exe builder

zna4i vaprosat mi e sledniq : Programkata koqto sam napisal izpolzva *ocx-sove ot visual basic-a , ta taka se polu4ava 4e bez nego tq ne moje da raboti .
Ima li na4in da se bildne exe -to zaedno sas tezi failove i kak ?

molq vi se hora pomognete

Отговор
в отговор на kukuman #2

Re: exe builder

Няма начин. Най-добре е да си направиш Setup и той ще инсталира всичко при потребителя. Package and Deployment Wizard върви със студиото и можеш да ползваш него, макар че е много слаб и аз бих те посъветвал да ползваш нещо друго, ако имаш. Аз ползвам Wize и съм много доволен. Прави добри setup-и за VB6

Отговор
в отговор на kukuman #3

естествено, че може

Създай си един ресурс файл и в него вкарай всички ocx, които ти трябват. Когато пускаш програмата, опитвай да създаваш обект от типа, който се съдържа във всеки от тези ocx и ако получаваш грешка, просто измъкни файла от ресурса, запиши го под някаква име (може да не е името на оригиналниа файл) и го регистрирай с regsvr32 (през Shell примерно). Успех

Отговор
в отговор на ActiveX #4

Re: естествено, че може

То хубаво, но не е ли по-читаво, ако ползва някой "Install builder"? Аз например ползвам Wise 8, върши чудесна работа, и въпреки, че практически нямам нужда от него, ми харесва. ;о) Най-вече пиша ЕХЕ-та, които не ползват нищо повече от стандартните RichText или CommonDialog. Е, напоследък се отпуснах, и сега редя във формите си два контрола - за OfiiceXP меню и за OfficeXP тулбар бутони. ;о) ... Хубавото на този контрол за менюто е, че може да му се задава шрифт. Което не успях да намеря за стандартните менюта. Малко по-надолу имаше запитване от колега, дето имаше проблеми с кирилицата в менютата. ;о)


Щирлиц
Отговор
в отговор на kukuman #5

Re: exe builder

Най-бързия и лесен начин е с Package and Deployment Wizard както ти казаха. Той обаче създава 3 файла
setup.exe, setup.lst i edikvosi.cab
Ако искаш само еднo .exe, правиш от 3-те един rar self-extracting архив и му казваш след разархивиране (в темп дир) автоматично да пусне setup.exe

Другите инсталатори като Wise & InstallShield са по-яки но трябва време за да ги разучиш

Отговор
в отговор на Щиpлиц #6

Re: естествено, че може

Естествено, но човека питаше дали може да си вкара файловете в ехе-то, иначе ако прави инсталационен файл спокойно си ги адд-не към инсталацията. Аз също предпочитам Wise

Отговор
в отговор на ActiveX #7

Re: естествено, че може

За в ЕХЕ-то вече му бяха отговорили, затова и аз писах на теб, а не на него.

Просто исках да обърна внимание, че потребителя като получи програма, няма как да го караме да гледа за грешка, и евентуално да си регва библиотеките с regsrv. ;о)

А Wise не го бях пускал от много време, и сега се оказа, че прави няк'ви проблеми (избиват му чивийте, и се клоз-ва). Може да е свързано с това, че една нощ тъпия AutoUpdate на Windows ми беше свалил SP2, и се е натворил вътре... Някой да знае дали може от това да се е прецакал Wise-а?

Всъщност Wise ми пищи за някакво обновление. Сваля си нещо от нета, и след това заявява, че му липсват файлове, и не може да се обнови. Що за приумици са сътворили?


Щирлиц
Отговор
в отговор на Щиpлиц #8

Може би не съм се изразил правилно...

Не е нужно потребителя да прави каквото и да е, за да се регистрира липсващ Activex. Просто програма при своето пускане трябва да опита да създаде обект от типа на този в Activex-a - ако примерно съм сложил в ехе-то флексгрид, то при пускането на програмата изпълнявам една процедура, където се опитавам да създам такъв обект - примерно:
Set Obj = GetObject("", "MSFlexGridLib.MSFlexGrid")

ако няма грешка - значи този контрол е регистриран на потребителя и програмата си продължава нататък. ако обаче контрола не е инсталиран, програмата го екстракт-ва от ресурса, записва го на диска и изпълнява regsvr32. и пак си продължава нататък.
Ако вече си дал на някого инсталационен пакет и той си е инсталирал програмата, може би няма смисъл да му даваш пак инсталационен файл, само защото си добавил един ОСХ към програмата

Отговор
в отговор на kukuman #9

Re: exe builder

Също така можеш в директорията с EXE-то да си сложиш OCX файловете и да кажеш на EXE-то да ги търси в текущата директория.

Отговор